<transmissions-api-listener>
The line sets the protocol version below which the API entry point will not go. The default is tlsv1.2, the manual names it directly (§ 3.3.21.7).
This entry point is not a level of the mail listener but a separate entry point. The line names match <smtp-listener>, which makes it seem that one setting overrides the other. Not at all: each entry point has its own values, and there is neither inheritance nor precedence between them.
There are fewer compatibility arguments here than with mail. At the other end there are not a thousand foreign receivers but your own clients submitting messages — you know their version and can update it.
The default is sensible; lower it only for a specific client:
| Value | When |
|---|---|
| tlsv1.2 (default) | always |
| tlsv1.3 | all submitting clients are your own and modern |
| tlsv1.1 and lower | an old client that cannot be updated |
The submission key travels in the Authorization header — that is, inside the encrypted conversation. Lowering the bound weakens exactly its protection.
# each entry point has its own bounds; there is no inheritance between entry points <transmissions-api-listener 1.2.3.4:8585> tls-certificate /etc/pmta/transmissions-api-certificate.pem tls-min-version tlsv1.2</transmissions-api-listener>
what people get wrong and how it ends2 mistakes▶
our experience
§ 3.3.21.7
3 relations
log-tls<transmissions-api>The switch that shows why the handshake on this entry point failed lives in the neighboring block. inferencetls-max-version<transmissions-api-listener>The other bound of the same range on this entry point. § 3.3.21.8
tls-allow-tlsv1.3<transmissions-api-listener>Replaced the whole set of five switches: the version range on this input is set by a pair of bounds. § 3.3.21.2tls-allow-tlsv1.2<transmissions-api-listener>Replaced the whole set of five switches: the version range on this input is set by a pair of bounds. § 3.3.21.3tls-allow-tlsv1.1<transmissions-api-listener>Replaced the whole set of five switches: the version range on this input is set by a pair of bounds. § 3.3.21.4tls-allow-tlsv1<transmissions-api-listener>Replaced the whole set of five switches: the version range on this input is set by a pair of bounds. § 3.3.21.5tls-allow-sslv3<transmissions-api-listener>It sets the lower bound on this input; separate switches are no longer needed. § 3.3.21.6
openssl s_client -connect NODE:8585 -tls1_2 -brief </dev/null
3 articles
◇Who is allowed to submit mail and for whom to accept itOut of the box, the node accepts submission only from the machine itself; two different questions — “who can send through us” and “for whose addresses we accept mail” — are answered by different directives.◇The group that grants management rightsMembership in the pmta group gives an unprivileged user the right to call the node’s commands and use submission.◇How the node selects a source and combines its settingsA connection falls under all source blocks whose addresses cover it, and they act merged — the narrow one overrides the wide one; named blocks are attached only by direct reference.