smtp      inet  n       -       n       -       -       smtpd
 -o smtpd_tls_cert_file=/etc/letsencrypt/live/(name).pem
 -o smtpd_tls_key_file=/etc/letsencrypt/live/(name).pem
 -o smtp_tls_cert_file=/etc/letsencrypt/live/(name).pem
 -o smtp_tls_key_file=/etc/letsencrypt/live/(name).pem

submission inet n       -       n       -       -       smtpd
 -o smtpd_tls_cert_file=/etc/letsencrypt/live/(name).pem
 -o smtpd_tls_key_file=/etc/letsencrypt/live/(name).pem
 -o smtp_tls_cert_file=/etc/letsencrypt/live/(name).pem
 -o smtp_tls_key_file=/etc/letsencrypt/live/(name).pem

In Postfix 3.4 ``smtp(d)_tls_chain_files'' got introduced.
It combines tls_key and tls_cert and their specific counterparts for non RSA 
certs.

You can use it as follows:
 smtp_tls_chain_files = /path/to/cert.pem, /path/to/anothercert.pem
(Can also be separated by just space)
And cert beeing of the form:
 key1,  cert1,  [chain1],  key2, cert2, [chain2], ..., keyN, certN, [chainN]

This is especially useful, if you're using  RSA and e.g. Ed25519

Do I need smtp_tls_cert/key in the smtp section or is it superfluous/stupid?

Please note, that smtp(d)_tls_cert_file may also contain the RSA private key thus specifying it again is redundant.

Please note:
smtpd_tls* is for receiving connections.
smtp_tls* is for outgoing connections.
You're specifying the same certificate thus makings it redundant.
You may shorten it to just two lines in your main.cf:

 smtp_tls_chain_files = /etc/letsencrypt/live/(name).pem
 smtpd_tls_chain_files = /etc/letsencrypt/live/(name).pem

Greetings
Anton

Reply via email to