为什么发送电子邮件需要多个邮件服务器跳?(Why does sending an email nee

2019-09-18 11:28发布

当我发送一封电子邮件给别人,(我认为)我的电子邮件发送到我的家庭服务器,然后将邮件发送到目标服务器,则最终送到我想送的人。

有时候,这需要多跳,这是混淆了我这一点。 为什么这需要多跳? 为什么不能将电子邮件直接发送到目标服务器? XMPP不需要多跳,例如。

Answer 1:

从根本上说是与互联网的初衷做,或者更确切地说,它的前身ARPANET ,被设计为生存的网络部分(流行普遍的误解的损失,这样的设计目标存在不是为了生存核攻击,但由于网络组件都相当不可靠的时候)。

分组交换网络的目的是找到一个或多个路由,其中​​分组开始(您的电子邮件客户端)到它需要的(要发送到的人的电子邮件客户端)。

为了实现这种灵活性,该系统没有设计只是路线直接从A点到B点,但要找到当前正在运行的可行路径(从可能非常大组可能的路线)。

如果您的电子邮件客户端必须知道如何直接发送到每个其他设备在世界上,没有中间的子网流量管理,您的计算机可能需要在世界上所有其他计算机的直接连接。 这将是非常昂贵的。 相反,路由器插图中接受你的包和其他人在你的领域,并找出如何路由每个包更接近它的目的地。 这是类似于航空公司使用有区域航班资讯中心的方法。



Answer 2:

一个典型的电子邮件事务使用出站邮件服务器,查找收件人的收件服务器,提供它在那里,则该服务器动手吧给您的收件人的邮箱服务器。 这是3级跳:

当您发送一条消息,从您的电子邮件客户端(更恰当:邮件用户代理,MUA)连接到出站SMTP服务器。 这是第一跳,和你的SMTP服务器创建一个Received报头后面,表示其审计。 这将包括它看到你连接的IP,消息ID内部到特定的服务器,有时一些其他的信息。

你站SMTP服务器然后查找的MX(邮件交换)记录在DNS中每个收件人的域和连接到最高优先级转发,它可以找到(该数值最低的MX优先级)他们。 这是第二跳。 正如任何跳,一个Received标头被添加。

对MX继电器通常做防垃圾邮件过滤,则SMTP连接期间潜在地拒绝该消息。 这是产生反弹的消息,你的站SMTP服务器直接发送你(如果它在互联网上发送的,就有可能被反向散射 ,垃圾邮件的形式,因为反弹不能证明是合法的)。 通常情况下,反垃圾邮件过滤后完成,该消息被悄悄丢弃或者与标记交付。

然后,MX接力手中的消息关内到你的邮箱(IMAP /交换)服务器(跳#3)。 有时,本地邮箱服务器过滤器用于处理模式(或从MX服务器标记),并促进各种操作,如提交可疑垃圾邮件到您的垃圾邮件文件夹。

如果您使用邮件转发服务,将MX中继,而不是通过你的消息,转发目标(另一MX继电器)。 这在理论上可以去了好一阵子,甚至无限循环,但应在邮箱服务器最终结束。

又见正式SMTP规范, RFC 5321 。

如果您使用网络邮件,网络邮件服务器是您的电子邮件客户端。 一些web邮件服务器添加页眉类似于Received报头跟踪连接,这样垃圾邮件过滤器能够延长自己的声誉会检查用户,而不是在webmail系统,它可以被描述为另一个一跳。

在企业级的环境中,常见的是,将用于各种目的的服务器的多个层。 这些额外的啤酒花MX继电器和邮箱服务器之间发生,甚至会涉及到额外的反垃圾邮件或防病毒处理,先进的邮件别名,邮件归档,校区之间的内部邮件路由,或任意数量的其他事情。 这些例如可以轻松转换,从一个邮件系统到另一个系统(如Exchange版本中,这可能需要大量的测试和低速移动的所以问题不影响整个公司之间迁移)。



Answer 3:

当一个数据包被通过互联网路由就会使多跳从源到目的地。



文章来源: Why does sending an email need multiple mail server hops?