3. 消息提交 (Message Submission)
3.1. 提交标识 (Submission Identification)
port 587 按本文档规定保留用于 email message submission. 在该 port 上收到的 message 被定义为 submission. 使用的 protocol 是 ESMTP [SMTP-MTA, ESMTP], 并带有此处规定的附加限制或许可.
虽然大多数 email client 和 server 可以配置为使用 port 587 而不是 25, 但也存在不可行或不方便的情况. 站点 可以 选择使用 port 25 进行 message submission, 方式是将某些 host 指定为 MSA, 将其他 host 指定为 MTA.
3.2. 消息拒绝与退信 (Message Rejection and Bouncing)
MTA 和 MSA 可以 实现部分依赖 message 是 submission 还是 relay 的 message rejection rule.
例如, 某些站点可能将其 MTA 配置为拒绝所有不引用本地用户的 message 的 RCPT command, 并将其 MSA 配置为拒绝所有并非来自授权用户的 message submission, 其中 authorization 基于 authenticated identity 或 submitting endpoint 位于受保护 IP environment 内.
注意: 拒绝 message 比冒险发送损坏 message 更好. 对于 MUA 可纠正的问题尤其如此, 例如无效的 'From' 字段.
如果 MSA 无法基于有效 MAIL FROM, 有效 source IP address 或 authenticated identity 确定到 submitting user 的 return path, 则 MSA 应该 立即拒绝该 message. 可以通过对 MAIL command 返回 550 code 来立即拒绝 message.
注意, null return path, 即 MAIL FROM:<>, 是允许的, 且其本身 不得 成为拒绝 message 的原因. (MUA 需要因多种原因生成 null return-path message, 包括 disposition notification.)
除 MSA 无法确定 submitted message 的有效 return path 的情况外, 本规范中指示 MSA 发出 rejection code 的文本 可以 通过接受 message 并随后生成 bounce message 来遵守. (也就是说, 如果 MSA 要因无法确定 return path 以外的任何原因拒绝 message, 它可以选择立即拒绝, 或接受 message 后再邮寄 bounce.)
注意: 在 message submission 的通常情况下, 首选立即拒绝 message, 因为这会向用户和 MUA 提供直接反馈. 为妥善处理 delayed bounce, client MUA 需要维护已提交 message 的 queue, 并将 bounce 与之匹配. 注意, 许多现代 MUA 不具备此能力.
3.3. 授权提交 (Authorized Submission)
已使用许多方法来确保只有授权用户能够提交 message. 这些方法包括 authenticated SMTP, IP address restriction, secure IP 和其他 tunnel, 以及先前 POP authentication.
Authenticated SMTP [SMTP-AUTH] 已得到广泛部署. 它允许 MSA 确定 message submission 的 authorization identity, 且该 identity 不绑定到其他 protocol.
IP address restriction 实现非常广泛, 但不适用于旅行者和类似情况, 并且除非 MUA 与 MSA 之间所有 transport path 都可信, 否则很容易被 spoof.
Secure IP [IPSEC] 以及其他加密和认证 tunnel 技术也可以使用, 并提供防止 eavesdropping 和 traffic analysis 的额外好处.
也曾使用要求在 message submission session 开始前一段时间内 (例如 20 分钟) 从相同 IP address 执行 POP [POP3] authentication 的做法, 但这会对 client 和 server 施加限制, 可能造成困难. 具体而言, client 必须在 SMTP submission session 之前执行 POP authentication, 而并非所有 client 都具备此能力并完成配置. 此外, MSA 必须与 POP server 协调, 这可能很困难. 还存在一个时间窗口, 期间未授权用户可以提交 message 并看起来像先前已授权的用户. 由于该技术依赖 MUA 的 IP address, 它基本上与仅基于已知 IP address 的验证同样容易受到 IP address spoofing 影响 (见上文).