<domain>
The line enables detailed logging of the TLS negotiation with this receiver. The default is false.
This is a diagnostic switch, not a permanent setting. Accounting shows the result — the negotiated version and cipher or an empty field; the log shows why there is no result: STARTTLS was not offered, no common cipher was found, the certificate chain did not match.
Enable it in a targeted way and temporarily. There are many records, and at volume they noticeably add to the log.
The value is boolean, the question is when to enable it:
| Value | When |
|---|---|
| no (default) | always in normal operation |
| yes | investigation: the protocol version field in accounting is empty, and you need to understand why |
Order of investigation. First accounting — is there a protocol version; if not, enable the log for one receiver, look at the cause, disable it.
# for the duration of the investigation, for one receiver <domain broken.example.com> use-starttls yes log-tls true</domain>
what people get wrong and how it ends1 mistake▶
our experience
1 relation
use-starttls<domain>There is nothing to log while encryption is off. § 3.3.10.108.17
grep -i "tls" /var/log/pmta/pmta.log | tail -30
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.