Exim重试是基于消息而不是基于主机的? 为什么

从我所了解的exim重试应该是基于HOST,而不是基于消息。 这似乎对我有意义。 如果一台主机的服务器超负荷,或者告诉你“延迟发送消息”,那么推迟几个小时的消息似乎是不好的forms,但是要继续用服务器发送去往该主机的所有其他消息(即如果雅虎说“停止”,你应该停止所有的雅虎邮件!不只是继续尝试他们,并延迟他们的服务器告诉你一遍又一遍的停止!)。

从我读到的这个Exim应该如何工作,但是:

我的重试规则(对于“大主人”,也就是当他们推迟或阻止时最受伤害的人),我们使用:每5小时持续4天):

          \ N ^ [^ @] + @雅虎。\ N * F,4天,5小时;
          \ N ^ [^ @] + @ rogers。\ N * F,4d,5h;
          \ N ^ [^ @] + @ hotmail。\ N * F,4d,5h;

检查exinext的结果:

运输:mx-rogers.mail.am0.yahoodns.net [98.139.214.154/208.83.209.44]:1W1Lmv
 -0004iy-IL错误-45:来自远程邮件服务器的SMTP错误:MAIL FROM:SIZE = 13119:host mx-rogers.mail.am0.yahoodns.net [98.139.214。
 154]:421 4。
  第一次失败:09-Jan-2014 15:12:45
  最后尝试:09-Jan-2014 15:12:45
  接下来尝试在:09-Jan-2014 20:12:45

运输:mx-rogers.mail.am0.yahoodns.net [98.139.214.154/208.83.209.44]:1W1M9J
 -0007Cj-PV错误-45:来自远程邮件服务器的SMTP错误:MAIL FROM:SIZE = 13105:host mx-rogers.mail.am0.yahoodns.net [98.139.214。
 154]:451 4。
  第一次失败:09-Jan-2014 15:40:17
  最后尝试:09-Jan-2014 15:40:17
  接下来尝试:09-Jan-2014 20:40:17

运输:mx-rogers.mail.am0.yahoodns.net [98.139.214.154/208.83.209.47]:1W1Lss
 -000521-Cf错误-45:来自远程邮件服务器的SMTP错误:MAIL FROM:SIZE = 13113:host mx-rogers.mail.am0.yahoodns.net [98.139.214。
 154]:421 4。
  第一次失败:09-Jan-2014 15:12:06
  最后尝试:09-Jan-2014 15:12:06
  接下来尝试:09-Jan-2014 20:12:06

我特别select了这个例子,因为它显示了相同的MX服务器和IP(我记得,这可能会影响重试规则…)。 据我所知,如果15:12:06电子邮件是第一个触发重试,那么在15:40:17(到同一主机)的电子邮件应该至less有4个小时的尝试。 似乎正在发生的事情是,它试图发送电子邮件的第一次尝试无关的规则。

我们如何解决这个问题?

我看到的是如何devise工作。

一个不属于“队列运行”的消息(在这种情况下,当收到消息时)尝试立即传送。

一旦失败,将会重试重试次数。 当你看到每个“下一个尝试”都不同时,当它试图再次处理这些消息时,它应该遵守主机的重试时间。

参考: Exim – 重试configuration (从上面第四段)