<domain>
The line sets the lower bound: the node will not negotiate versions older than the one specified. The values are tlsv1, tlsv1.1, tlsv1.2, tlsv1.3. The default is tlsv1.1.
It replaced five separate switches. Before version 5.5 each protocol version was enabled with its own line — smtp-tls-allow-tlsv1 and its relatives; all of them were deprecated in favor of this pair.
The threshold is not the only restriction. openssl-security-level can forbid a version earlier: PowerMTA has its own encryption library built into the distribution, and its security level applies on top of everything. Allowing tlsv1 with this line and getting a refusal at the library level is a common sequence of events.
Four values, and the choice between them is about the tail, not the majority:
| Value | Who you lose | When to use it |
|---|---|---|
| tlsv1 | no one | a receiver with a very old stack, pointwise |
| tlsv1.1 (default) | almost no one | a regular fleet |
| tlsv1.2 | small mail servers with an old stack | a client’s or regulator’s requirement |
| tlsv1.3 | a noticeable share | only for a specific receiver that supports it |
Look at it together with require-starttls: a raised threshold without the requirement turns into unencrypted delivery, and with the requirement — into non-delivery.
# the threshold is raised only for a receiver that can certainly handle it <domain hotmail.com> use-starttls yes smtp-tls-min-version tlsv1.2</domain>
what people get wrong and how it ends2 mistakes▶
our experience
§ 3.3.1
3 relations
reuse-ssl-session<domain>Session reuse does not work on version 1.3, and therefore depends on which versions are allowed. § 3.3.10.108.5smtp-tls-allow-tlsv1<domain>Replaced the whole set of five switches: the version range is set by a pair of bounds, not by five separate lines. § 3.3.10.108.6smtp-tls-allow-tlsv1.1<domain>Replaced the whole set of five switches: the version range is set by a pair of bounds, not by five separate lines. § 3.3.10.108.7smtp-tls-allow-tlsv1.2<domain>Replaced the whole set of five switches: the version range is set by a pair of bounds, not by five separate lines. § 3.3.10.108.8smtp-tls-allow-tlsv1.3<domain>Replaced the whole set of five switches: the version range is set by a pair of bounds, not by five separate lines. § 3.3.10.108.9
pmtaacctfind --output csv[rcpt,dlvTlsProtocol,dlvTlsCipher] /var/log/pmta/acct-*.csv | head -20
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.