如果 SMTP 客户端收到服务器发来的错误,应该如何表现?

如果 SMTP 客户端收到服务器发来的错误,应该如何表现?

考虑以下 SMTP 会话:

220 mx.example.com ESMTP Postfix
EHLO example.com
250-mx.example.com
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 SMTPUTF8
MAIL FROM:<>
250 2.1.0 Ok
RCPT TO:<[email protected]>
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Subject: Test
Test
.
451 4.7.1 Try again later

此后客户应该做什么?他可以发送一封邮件RSET并尝试另一封邮件吗?

这个问题与这个 rspamd 问题我不知道谁的行为是错误的:

  • 如果第一次投递失败,rspamd 无法正确处理一次会话中的多封邮件
  • Postfix 未向 rspamd 发送正确的 Milter 命令
  • OpenSMTPd 用于在已失败后再发送一封邮件

相关内容