假设Alice使用SMTP向Bob发送电子邮件。我们假设Alice UA通过SMTP将消息发送到她的邮件服务器。
Alice UA发送到其邮件服务器MTA的SMTP消息与Alice的邮件服务器发送到Bob的邮件服务器的SMTP消息之间是否有区别?
我试图在web上找到一个从UA到MTA的SMTP工作负载的例子,但是我没有找到任何例子。大多数SMTP工作负载的例子都在MTA和MTA之间。
发布于 2019-06-02 08:01:00
对于MUA到MTA和MTA到MTA,SMTP协议和消息内容本质上是相同的。MTA可能会添加丢失的或额外的头,并会在标头的开头附加一个Received头,从而可以跟踪传递路径。此外,MUA到MTA连接也可以进行身份验证,并使用单独的提交端口进行不同的设置.
传入的消息通常会立即被接受,然后在MTA排队。如果由于无法到达服务器而导致交付失败,大多数MUA将显示错误。工作负载与队列相关。如果有大量的邮件需要递送,就不可能同时递送所有的邮件。在到达目标MTA时也可能会出现临时问题,或者是无法接受消息的临时问题,比如速率限制。
如果MTA获得一个临时错误,它将尝试稍后的传递,增加间隔,并且邮件将在队列中保留定义的最大队列周期。在那之后,它将被认为是一个永久的错误和邮件将反弹回来。MTA还可以提供关于交付状态的额外通知。
队列是一个内部结构,它处理SMTP模型中的一个基本需求:正如在RFC 5321,2.1中定义的那样,单个MTA对一次传递消息负有全部责任,直到下一个MTA接受此责任为止:
邮件传输可以在原始SMTP发送方和最终SMTP收件人之间的单个连接中进行,也可以通过中间系统在一系列跳中进行。在这两种情况下,一旦服务器在邮件数据的末尾发出了成功的响应,就会发生消息的正式切换:协议要求服务器必须承担传递消息或正确报告失败的责任。
https://serverfault.com/questions/969824
复制相似问题