ChatGPT解决这个技术问题 Extra ChatGPT

端口 465 和 587 有什么区别?

这些端口 465 和 587 都用于发送邮件(提交邮件),但它们之间的真正区别是什么?

唯一的区别是正式的标准和 465 端口是用于旧版支持吗?
iana 的 "Service Name and Transport Protocol Port Number Registry" 是推荐使用端口的正式指南; SMTP over SSL 使用 465 是非官方的。阅读 SMTP 中的端口。对于 TCP 和 UDP 传输协议,iana 的官方用法并不总是相同的。注意:如果您是 SMTP 服务器管理员,您可以控制使用哪些端口;如果您是客户,您将只获得可供您使用的端口。

A
AnFi

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 端口接受来自其他邮件服务器的电子邮件到其“内部”邮箱无需身份验证


标准 SMTP 端口无需身份验证即可接受来自其他邮件服务器的电子邮件 - 实际上在技术上并不正确。标准 25 端口可以使用身份验证传输邮件,而不取决于 MTA 的配置。
@Ilia 普通 MTA 的标准 SMTP 端口不能拒绝(所有)未经身份验证的 SMTP 连接。
后缀呢?默认情况下它不允许中继邮件,而只允许来自同一网络的连接?
@Ilia 还有本地电子邮件域的传入邮件。
请注意,虽然是非官方的,但端口 465 为最终用户提供了更多保证,即他们确实在通过加密通道进行通话。端口 587,TLS 是可选的,意味着最终用户可以通过未加密的通道提供他们的凭据。有了电子邮件客户端,您就不能保证 MUA 甚至会提醒用户连接已降级。
C
Community

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 的源特定组播


很好的技术解释,正在寻找 SSL 与 TLS。
SMTPS and its use on port 465 should remain nothing more than an historical footnote. 除了 Gmail 和大多数其他电子邮件提供商将端口 465 用于 SSL (又名 SMTPS)。无论IANA 指定什么,它都不会成为现实。
@EricJ。 ...但 gmail 也支持 587 端口。你知道 Google 内部使用哪个端口吗?否则,他们支持 465 的事实并不能真正算作它是首选甚至特别常用的证据。
好吧,我们在 2018 年,我认为没有任何港口成为历史。 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
这应该更新以反映 IANA 现在已将端口 465 分配给 urdsubmissions,并且 RFC8314 建议使用隐式 TLS/端口 465 来提交消息。
C
Community

RFC 8314 的发布更改了此问题的正确答案。因此,端口 465 和 587 都是邮件提交代理 (MSA) 的有效端口。端口 465 需要在连接设置时协商 TLS/SSL,如果选择协商 TLS,端口 587 使用 STARTTLS。 IANA 注册表已更新为允许为此目的合法使用端口 465。对于邮件中继,仅使用端口 25,因此 STARTTLS 是使用邮件中继进行 TLS 的唯一方法。将邮件中继和邮件提交视为两个非常不同的服务(具有许多行为差异,例如需要身份验证、不同的超时、不同的消息修改规则等)碰巧使用类似的有线协议是很有帮助的。


使用端口 465 还是 587 更好?
如果您正在运行公共 SMTP 服务:两者都是为了兼容性。如果它是私有的,则首选 465 上的隐式 TLS,除非您必须支持不支持它的客户端。支持摘录:“然而,为了最大限度地使用加密提交,最好在几年的过渡期内支持两种通过 TLS 提交消息的机制。因此,客户端和服务器应该在端口 587 上实现 STARTTLS 和此过渡期间端口 465 上的隐式 TLS”tools.ietf.org/html/rfc8314#section-3.3
根据 RFC8314 中的建议,首选端口 465 用于 SMTP 提交的隐式 TLS。
C
Community

我一直使用端口 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 安全性但拒绝它,从而强制会话保持明文。


他是对的。仅仅因为 ISP 滥用它并且没有更新他们的文档并不会使它不正确。他并没有说它没有被使用——只是说它不是遵循 RFC 的做法。换句话说,您应该在电子邮件中使用 25 和 587,并且仅在出于某种原因必须使用时才使用 465。
PREFER 端口 465 优于端口 587,因为 465 用于 SMTP 提交的隐式 TLS,这遵循 RFC8314 中的建议。它建议“使用“隐式 TLS”(如下定义)连接到邮件提交服务器和邮件访问服务器,而不是使用 STARTTLS 命令或类似命令连接到“明文”端口和协商 TLS。
B
BlackBeard

端口 465:IANA 已将新服务重新分配给此端口,它不应再用于 SMTP 通信。

但是,由于它曾经被 IANA 认定为有效,因此可能存在仅能够使用此连接方法的遗留系统。通常,仅当您的应用程序需要时才使用此端口。快速谷歌搜索,您会发现许多建议使用端口 465 作为推荐设置的消费者 ISP 文章。希望这很快结束!它不符合 RFC。

端口 587:这是默认的邮件提交端口。当邮件客户端或服务器提交要由适当的邮件服务器路由的电子邮件时,它应该始终使用此端口。

每个人都应该考虑将此端口用作默认端口,除非您被上游网络或托管服务提供商明确阻止。该端口与 TLS 加密相结合,将确保安全提交电子邮件并遵循 IETF 制定的指导方针。

端口 25:此端口继续主要用于 SMTP 中继。 SMTP 中继是将电子邮件从电子邮件服务器传输到电子邮件服务器。

在大多数情况下,现代 SMTP 客户端(Outlook、Mail、Thunderbird 等)不应使用此端口。传统上,住宅 ISP 和云托管提供商会阻止它,以遏制从受感染的计算机或服务器转发的垃圾邮件数量。除非您专门管理邮件服务器,否则您的计算机或服务器上不应有流量通过此端口。


此答案现在不正确,根据 RFC8314 中的建议,首选用于 SMTP 提交的隐式 TLS 的端口 465。见我的above comment
H
Hedam

我不想点名,但似乎有人完全错了。引用的标准机构声明如下:submissions 465 tcp Message Submission over TLS protocol [IESG] [IETF_Chair] 2017-12-12 [RFC8314]

如果您愿意,不妨阅读参考的 RFC。

这似乎清楚地暗示端口 465 是强制加密通信并确保它就位的最佳方式。 587 端口不提供这样的保证。


为什么使用端口 465 更好?
“当建立 TCP 连接...... [到] 端口 465 时,TLS 握手立即开始。”该模型“本质上更易于实现、调试和部署”。与端口 587 的连接以“明文”形式进行,并且 之后 使用 STARTTLS 命令协商 TLS。 “虽然 [它] 本身并没有什么问题,但它导致了一个常见的实现错误(由多个实现者独立制造)的事实表明它是一个不如隐式 TLS 安全的架构。”请参阅 RFC8314 Appendix A 进行讨论。