这些端口 465 和 587 都用于发送邮件(提交邮件),但它们之间的真正区别是什么?
SMTP 协议:smtps(端口 465)v. msa(端口 587)
端口 465 和 587 用于电子邮件客户端到电子邮件服务器的通信 - 使用 SMTP 协议发送电子邮件。
端口 465 用于 smtps
SSL 加密在任何 SMTP 级别通信之前自动启动。
端口 587 用于 msa
它几乎就像标准 SMTP 端口。 MSA should accept email after authentication(例如在 SMTP AUTH 之后)。当 DUL 范围的网络管理员可以阻止 传出 到 SMTP 端口(端口 25)的连接时,它有助于阻止 传出 垃圾邮件。
可以启动 SSL 加密如果服务器支持并且您的 ISP 不支持,则通过 SMTP 级别的 STARTTLS 命令filter server's EHLO reply (reported 2014)。
端口 25 用于 MTA 到 MTA 的通信(邮件服务器到邮件服务器)。它可以用于客户端到服务器的通信,但目前不是最推荐的。标准 SMTP 端口接受来自其他邮件服务器的电子邮件到其“内部”邮箱无需身份验证。
587 与 465
这些端口分配由 Internet 号码分配机构 (IANA) 指定:
端口 587:[SMTP] 消息提交 (SMTP-MSA),一种接受来自电子邮件客户端 (MUA) 的电子邮件提交的服务。在 RFC 6409 中描述。
端口 465:SSM 的 URL 集合目录(与电子邮件完全无关)
从历史上看,端口 465 最初计划用于 SMTP 上的 SMTPS 加密和身份验证“包装器”,但它很快就被弃用了(几个月内和 15 多年前),转而支持 STARTTLS over SMTP (RFC 3207)。尽管如此,可能有许多服务器支持已弃用的协议包装器,主要是为了支持实现 SMTPS 的旧客户端。除非您需要支持此类较旧的客户端,否则 SMTPS 及其在端口 465 上的使用应该只是一个历史脚注。
令人绝望的混乱和不精确的术语 SSL 经常被用来表示 SMTPS 包装器和 TLS 来表示 STARTTLS 协议扩展。
为了完整性:端口 25
端口 25:简单邮件传输 (SMTP-MTA),一种接受来自其他服务器(MTA 或 MSA)的电子邮件提交的服务。在 RFC 5321 中描述。
资料来源:
IANA 服务名称和传输协议端口号注册
“撤销 smtps TCP 端口”——来自 Internet Mail Consortium 主管 Paul Hoffman 的电子邮件,1998 年 11 月 12 日。
RFC 6409 - 邮件的消息提交
RFC 5321 - 简单邮件传输协议
RFC 3207 - 用于通过传输层安全的安全 SMTP 的 SMTP 服务扩展
RFC 4607 - IP 的源特定组播
SMTPS and its use on port 465 should remain nothing more than an historical footnote.
除了 Gmail 和大多数其他电子邮件提供商将端口 465 用于 SSL (又名 SMTPS)。无论IANA 指定什么,它都不会成为现实。
456
仍然被大玩家使用。另外,我会编辑我的答案以反映 IANA 是一团糟,他们仍然不同意是否应该使用 456
- RFC 8314 tools.ietf.org/html/rfc8314#page-6 - When a TCP connection is established for the "submissions" service (default port 465), a TLS handshake begins immediately
- 您的“端口 456”引用了此 RFC链接:) - 注册日期:2017-12-12
RFC 8314 的发布更改了此问题的正确答案。因此,端口 465 和 587 都是邮件提交代理 (MSA) 的有效端口。端口 465 需要在连接设置时协商 TLS/SSL,如果选择协商 TLS,端口 587 使用 STARTTLS。 IANA 注册表已更新为允许为此目的合法使用端口 465。对于邮件中继,仅使用端口 25,因此 STARTTLS 是使用邮件中继进行 TLS 的唯一方法。将邮件中继和邮件提交视为两个非常不同的服务(具有许多行为差异,例如需要身份验证、不同的超时、不同的消息修改规则等)碰巧使用类似的有线协议是很有帮助的。
我一直使用端口 465。
answer by danorton 已过时。正如他和 Wikipedia 所说,端口 465 最初计划用于 SMTPS 加密,并在 15 年前迅速弃用。但是很多 ISP 仍在使用端口 465,尤其是为了符合 RFC 8314 的当前建议,它鼓励使用隐式 TLS,而不是使用端口 587 的 STARTTLS 命令。(请参阅第 3.3 节)。使用端口 465 是与充当邮件提交代理 (MSA) 的 SMTP 服务器开始隐式安全会话的唯一方法。
基本上,RFC 8314 建议放弃明文电子邮件交换,并且所有三种常见的 IETF 邮件协议仅在隐式 TLS 会话中使用,以尽可能保持一致性。因此,对于 SMTPS、IMAP4S 和 POP3S,推荐的安全端口分别为 465、993 和 995。
尽管 RFC 8314 确实允许继续使用端口 587 和 STARTTLS 命令的显式 TLS,但这样做会使邮件用户代理(MUA,邮件客户端)面临降级攻击,中间人拦截 STARTTLS请求升级到 TLS 安全性但拒绝它,从而强制会话保持明文。
端口 465:IANA 已将新服务重新分配给此端口,它不应再用于 SMTP 通信。
但是,由于它曾经被 IANA 认定为有效,因此可能存在仅能够使用此连接方法的遗留系统。通常,仅当您的应用程序需要时才使用此端口。快速谷歌搜索,您会发现许多建议使用端口 465 作为推荐设置的消费者 ISP 文章。希望这很快结束!它不符合 RFC。
端口 587:这是默认的邮件提交端口。当邮件客户端或服务器提交要由适当的邮件服务器路由的电子邮件时,它应该始终使用此端口。
每个人都应该考虑将此端口用作默认端口,除非您被上游网络或托管服务提供商明确阻止。该端口与 TLS 加密相结合,将确保安全提交电子邮件并遵循 IETF 制定的指导方针。
端口 25:此端口继续主要用于 SMTP 中继。 SMTP 中继是将电子邮件从电子邮件服务器传输到电子邮件服务器。
在大多数情况下,现代 SMTP 客户端(Outlook、Mail、Thunderbird 等)不应使用此端口。传统上,住宅 ISP 和云托管提供商会阻止它,以遏制从受感染的计算机或服务器转发的垃圾邮件数量。除非您专门管理邮件服务器,否则您的计算机或服务器上不应有流量通过此端口。
我不想点名,但似乎有人完全错了。引用的标准机构声明如下:submissions 465 tcp Message Submission over TLS protocol [IESG] [IETF_Chair] 2017-12-12 [RFC8314]
如果您愿意,不妨阅读参考的 RFC。
这似乎清楚地暗示端口 465 是强制加密通信并确保它就位的最佳方式。 587 端口不提供这样的保证。