Postfix – SMTPS and Submission Confusion Explained

postfixsmtps

I've setup postfix so that email clients use port 465 (smtps) for outbound mail. I'm not really understanding the difference between smtps (port 465) and submission (port 587)

What's the 'best practice' when configuring postfix for clients to securely send mail? Just use smtps? Or use both submission and smtps?

Best Answer

edit: This answer is based on RFC-6409 and is no longer correct, see the newer RFC-8314

Port 465 was used for SMTP connections secured by SSL. However, using that port for SMTP has been deprecated with the availability of STARTTLS: "Revoking the smtps TCP port" These days you should no longer use Port 465 for SMTPS. Instead, use Port 25 for receiving mails for your domain from other servers, or port 587 to receive e-mails from clients, which need to send mails through your server to other domains and thus other servers.

As an additional note, port 587 however is dedicated to mail submission - and mail submission is designed to alter the message and/or provide authentication:

  • offering and requiring authentication for clients which try to submit mails
  • providing security mechanisms to prevent submission of unsolicited bulk mail (spam) or infected mails (viruses, etc.)
  • modify the mail to the needs of an organisation (rewriting the from part, etc.)

Submission to port 587 is supposed to support STARTTLS, and thus can be encrypted. See also RFC#6409.

Related Topic