SMTP服务器能否响应诸如552之类的故障?

时间:2018-07-19 00:15:22

标签: smtp mandrill

我们使用Mandrill发送电子邮件,我们想知道有关无法传递的邮件的SMTP响应。例如,当收件人的邮箱已满时,将发生552。

SMTP服务器只需几秒钟即可做出响应。在这段时间内,邮件是否会到达收件人的邮箱?

如果是这样,如果邮件不能立即送达怎么办?是否存在超时,即使没有发送电子邮件,SMTP服务器也会响应?

2 个答案:

答案 0 :(得分:1)

  

SMTP服务器只需几秒钟即可做出响应。中   那个时候,邮件会到达收件人的邮箱吗?

如果服务器由于邮箱已满而发送错误,则表明邮件未到达收件人的邮箱。

  

如果是这样,如果邮件不能立即送达怎么办?是   超时,即使电子邮件发送,SMTP服务器也会响应   没有交付?

这取决于您要连接的服务器。如果您直接连接到目标服务器(例如Exchange服务器),则它通常会知道它是否可以接受电子邮件(例如,因为邮箱已满),并且可以通过拒绝传递立即做出响应。

如果要连接到将电子邮件路由到另一个邮件服务器的MTA,则在连接到该收件人时,它将不知道收件人的邮箱是否已满。但是,它可能由于其他原因(例如您的IP地址具有发送垃圾邮件的信誉)拒绝电子邮件。在尝试将电子邮件传递到另一个邮件服务器之前,MTA通常会接受整个邮件。

如果MTA尝试发送电子邮件并收到永久错误(5xx),则MTA将不会尝试再次发送电子邮件。如果错误是暂时性(4xx)错误,则MTA通常会稍等一会,然后尝试再次传递邮件。大多数MTA将设置一个超时时间,此后它们将停止尝试传递邮件。

大多数现代MTA支持将DSN作为SMTP扩展。 (DSN代表“传递状态通知”:有关详细信息,请参见https://tools.ietf.org/html/rfc3461。)当支持DSN的MTA无法将电子邮件传递给收件人时,它将向发送者发送一条DSN消息,指示它无法传递电子邮件。

答案 1 :(得分:0)

对于经过身份验证/受信任的发件人,AFAIK大多数SMTP服务器都会部署“接受并存储在队列中,然后再进行任何转发尝试”。

如果您想获取更多详细信息,请使用SMTP服务器软件名称。