邮件队列重试间隔的做法

我正在configuration一个自定义的邮件队列。 事情是发送邮件可能会有错误。 通常情况下,人们不知道邮件没有到达目的地的原因。 所以最简单的解决方法是尝试再次发送邮件。 以下是我从嘴里知道的一些algorithm:

  • 复制队列中的时间,以便在某个时间开始下一次重试:1分钟,2分钟,4分钟等。
  • 指定一系列时间间隔(这是前一个选项的一般情况):5分钟,5分钟,10分钟,30分钟等

在某些时候,尝试再次发送邮件将毫无意义。 无论如何,系统包含一个未发送邮件的日志。

你对这个问题有什么了解? 什么是“良好”保持间隔? 至less,我应该考虑哪些事实来select间隔?

必须遵循明确指出如何实施重试策略的RFC 5321: http : //tools.ietf.org/html/rfc5321#section-4.5.4

当你试图实现你自己的邮件服务器时,你必须完全阅读(并理解!)这个RFC。 但我必须明确强调几乎不需要实现自己的邮件服务器(客户端)。 现有的(testing!)解决scheme已有很多年,几十年的生产能力。 所以使用现有的软件,而不是从头开始。 这是不值得的,你会遇到麻烦。 你甚至知道IPv6? 如果不是,你应该!