wake-up-neo.com

Postfix-如何重试队列中的邮件传递?

我有一个备用邮件服务器,以防主服务器出现故障。在这种情况下,邮件将发送到备用服务器上,并留在备用服务器上,直到主服务器返回为止。

如果我等了一段时间,一旦主服务器返回,交付将自动完成,但是时间可能会很长。那么,如何强制重试所有邮件?

例如:postqueue -p:给我邮件列表

然后,我尝试了postqueue -f(来自手册页:刷新队列:尝试传递所有排队的邮件。)。它肯定刷新了队列,但邮件未送达...

100
Nicolas

根据 postqueue(1) 的说明,您可以简单地运行postqueue -f刷新您的邮件队列。如果刷新队列后未发送邮件,而是将其重新排队,则可能要检查邮件日志中是否有错误。

偷看 postsuper(1) 可能也有帮助。消息可能处于保留状态,需要先发布。

120
joschi

postqueue -f 应该管用。如果没有,那是有充分理由的。检查日志。此外, pfqueue 是检查邮件后台处理的非常有用的命令。

38
Janne Pikkarainen

sendmail -q立即重试队列中所有邮件的传递。

16
the-wabbit

postqueue -s domain.tld应该使备用中继计算机刷新您站点的所有电子邮件。后缀的默认设置启用relay_domains中所有域的按站点刷新。 postqueue -f也可以执行此操作,但是还会向外部站点推送邮件,即,它可以完成超出您需要的工作。

您如何确定邮件尚未送达?它们仍在备份主机上还是已发送到主主机上然后丢失了?

4
araqnid