Global
The line sets the lower version bound for inbound connections. The values are the same four as for sending.
The default here is tlsv1.2, while for sending it is tlsv1.1 — and the asymmetry makes sense. We do not choose whom we send to: a receiver may turn out to be old, and a strict threshold would turn into lost delivery. Who submits to us, on the other hand, is known: these are our platforms, and a modern version can be required of them.
openssl-security-level applies on top of the bound — PowerMTA has its own encryption library, and its level can forbid a version this line allows.
Four values, and the decision is about the submitting side:
| Value | Whom you lose on submission |
|---|---|
| tlsv1 | no one; and no protection is left |
| tlsv1.1 | almost no one; weaker than the default |
| tlsv1.2 (default) | clients with a very old stack |
| tlsv1.3 | clients with a stack older than a few years |
Check before raising it. The submitting platform is your own, and its library is known: seeing what it negotiates is cheaper than later sorting out a stopped submission.
# the acceptance threshold is stricter than for sending, and that is deliberate smtp-server-tls-min-version tlsv1.2
what people get wrong and how it ends2 mistakes▶
our experience
§ 3.3.1
2 relations
smtp-server-tls-allow-tlsv1GlobalReplaced the whole set of five switches: the version range for receiving is set by a pair of bounds, not by five lines. § 3.3.1.13smtp-server-tls-allow-tlsv1.1GlobalReplaced the whole set of five switches: the version range for receiving is set by a pair of bounds, not by five lines. § 3.3.1.14smtp-server-tls-allow-tlsv1.2GlobalReplaced the whole set of five switches: the version range for receiving is set by a pair of bounds, not by five lines. § 3.3.1.15smtp-server-tls-allow-tlsv1.3GlobalReplaced the whole set of five switches: the version range for receiving is set by a pair of bounds, not by five lines. § 3.3.1.16smtp-tls-min-version<domain>The same threshold from the other side: this one is about outbound connections, that one about the node receiving mail. § 3.3.1.17tls-min-version<smtp-listener>The same setting at the node level; whether the listener inherits it, the manual does not say. § 3.3.17.10
openssl s_client -starttls smtp -connect localhost:25 -tls1_1
3 articles
◇Submission over HTTPS on its own listener, modeled on SparkPostA separate entry point: its own listener with a certificate, its own keys and a reserved source name through which the usual submission settings apply to such mail.◇The receiver declares an encryption requirement on its websiteThe node fetches the recipient domain’s policy over HTTPS and, if it is in enforce mode, delivers only when the MX matches, the connection is encrypted and the certificate is verified.◇The receiver declares an encryption requirement in its DNS zoneThe node looks at the recipient domain’s DANE records and, if STARTTLS is required, sends only over an encrypted channel with a certificate verified by fingerprint.