发送电子邮件到需要登录的服务器

发送电子邮件到需要登录的服务器

我正在尝试了解 SMTP 服务器在生产环境中的工作原理。我想知道如果服务器 B 需要登录,电子邮件如何从服务器 A 发送到服务器 B。

一个现实生活中的例子是当有人从 Outlook 向 Gmail 发送邮件时。根据我目前的理解,Outlook 需要通过 Gmail 的服务器进行身份验证。是否有一个端口或协议允许将电子邮件从一台服务器发送到另一台服务器而无需身份验证?我找不到任何描述此问题的文章或信息。

答案1

[MX 服务器]
发送至 gmail.com 的电子邮件邮箱/地址不需要身份验证
[但可能会因 RBL 列表或 gmail 自己的反垃圾邮件政策而被拒绝]。gmail.com
MX的 DNS 记录用于确定为端口 25 (smtp) 提供 SMTP 连接服务的目标主机。

[SMTP 输出服务器]
通过 gmail.com 发送电子邮件到非 gmail.com 邮箱/地址需要身份验证。
AAAAA记录smtp.gmail.com用于确定目标主机,但这是 gmail.com 指示其用户使用的。SMTP-Out 服务器应接受到端口的连接587(海事安全管理局).
smtp.gmail.com接受以下端口的连接:587(msa)、465(smtps)和 25(smtp)。

较小的网站使用单个服务器作为 MX 服务器和 SMTP-Out 服务器

答案2

Outlook 或 Gmailsubmission在 TCP 端口 587 上为其最终用户提供服务。这需要用户身份验证,但通常允许经过身份验证的用户向任何地方发送电子邮件。

SMTP是不同服务器之间使用的,它使用 TCP 端口 25,通常不需要任何身份验证。由于这会使服务容易被滥用(寻找垃圾邮件),服务运营商会采用不同的策略来防止这种情况(例如,只接受最终会发送给最终用户的电子邮件)。

答案3

客户端提交(经过身份验证的中继)需要身份验证(大多数情况下)。

服务器到服务器提交,其中服务器 A 向服务器 B 发送电子邮件,而服务器 B 拥有该域的权限,不需要身份验证。没有发生中继。这就是 SMTP 的工作方式。如果每个电子邮件服务器都必须向其他每个电子邮件服务器进行身份验证才能将电子邮件从一个用户发送到另一个用户,那么电子邮件作为一种通信方式将完全站不住脚。

我鼓励您阅读与 SMTP 相关的 RFC,以便更好地了解 SMTP 的运行方式。

相关内容