SMTP - UA 到 MTA 与 MTA 到 MTA

SMTP - UA 到 MTA 与 MTA 到 MTA

假设 Alice 使用 SMTP 向 Bob 发送电子邮件。我们假设 Alice UA 通过 SMTP 将消息发送到她的邮件服务器。

Alice UA 发送给她的邮件服务器 MTA 的 SMTP 消息和 Alice 的邮件服务器发送给 Bob 的邮件服务器的 SMTP 消息之间有区别吗?

我尝试在网上查找 UA 到 MTA 的 SMTP 工作负载示例,但一无所获。大多数 SMTP 工作负载示例都在 MTA 和 MTA 之间……

答案1

MUA 到 MTA 和 MTA 到 MTA 的 SMTP 协议和邮件内容基本相同。MTA 可能会添加缺失或额外的报头,并Received在报头开头附加一个报头,从而可以跟踪投递路径。此外,MUA 到 MTA 连接可能会经过身份验证,并使用单独的提交具有单独设置的端口。

收到的邮件通常会被立即接受,然后被放入 MTA 队列中。如果由于无法连接服务器而导致投递失败,大多数 MUA 都会显示错误。工作量和队列相关。如果要投递的邮件很多,则不可能同时投递所有邮件。到达目标 MTA 时也可能出现暂时问题,或者无法接受邮件,例如速率限制。

如果 MTA 收到临时错误,它将稍后尝试以增加间隔进行投递,并且邮件将在队列中停留定义的最长排队时间。此后,它将被视为永久性错误,并且邮件将弹跳返回。MTA 可能还会提供有关传送状态的额外通知。

队列是处理 SMTP 模型中基本要求的内部结构:定义于RFC 5321, 2.1,单个 MTA 负有一次传递邮件的全部责任,直到下一个 MTA 接受此责任:

邮件传输可以在原始 SMTP 发件人和最终 SMTP 收件人之间的单个连接中进行,也可以通过中介系统在一系列跳转中进行。无论哪种情况,一旦服务器在邮件数据末尾发出成功响应,就会正式移交邮件的责任:协议要求服务器必须承担传递邮件或正确报告传递失败的责任。

相关内容