错误:消息未发送。服务器回复:354

错误:消息未发送。服务器回复:354

在网络邮件上,每个用户在发送邮件时都会收到错误“错误:消息未发送。服务器回复:354”。

但邮件已正确发送并正确到达。

你能告诉我问题出在哪里以及为什么会发生这种情况吗?

更新:我在一些资源中发现这不是错误,而是标准信息消息。另一方面,这很烦人。你能告诉我这是否是真的吗?如果是,我该如何避免?

答案1

总结:

您的网络邮件程序编写得很糟糕,认为响应代码 354 是一个错误,但事实并非如此。

长答案:

SMTP 对话如下所示(S = 服务器,C = 客户端)

  S: 220 foo.com Simple Mail Transfer Service Ready
  C: EHLO bar.com
  S: 250-foo.com greets bar.com
  S: 250-8BITMIME
  S: 250-SIZE
  S: 250-DSN
  S: 250 HELP
  C: MAIL FROM:<[email protected]>
  S: 250 OK
  C: RCPT TO:<[email protected]>
  S: 250 OK
  C: DATA
  S: 354 Start mail input; end with <CRLF>.<CRLF>
  C: Blah blah blah...
  C: ...etc. etc. etc.
  C: .
  S: 250 OK
  C: QUIT
  S: 221 foo.com Service closing transmission channel

如您所见,代码 354 表示“好的,我们已经了解了发件人和收件人的信息,现在请给我实际的邮件”。但是,您的网络邮件系统已被编码为认为只有以 2 开头的响应代码才表示“成功”,因此需要任何其他代码才表示存在问题。编写网络邮件程序的人需要回去阅读RFC 5321然后修复该错误。

相关内容