我有一个备用邮件服务器,以防主服务器出现故障。在这种情况下,邮件将发送到备用服务器上,并留在备用服务器上,直到主服务器返回为止。
如果我等了一段时间,一旦主服务器返回,交付将自动完成,但是时间可能会很长。那么,如何强制重试所有邮件?
例如:postqueue -p:给我邮件列表
然后,我尝试了postqueue -f(来自手册页:刷新队列:尝试传递所有排队的邮件。)。它肯定刷新了队列,但邮件未送达...
根据 postqueue(1) 的说明,您可以简单地运行postqueue -f
刷新您的邮件队列。如果刷新队列后未发送邮件,而是将其重新排队,则可能要检查邮件日志中是否有错误。
偷看 postsuper(1) 可能也有帮助。消息可能处于保留状态,需要先发布。
postqueue -f
应该管用。如果没有,那是有充分理由的。检查日志。此外, pfqueue 是检查邮件后台处理的非常有用的命令。
sendmail -q
立即重试队列中所有邮件的传递。
postqueue -s domain.tld
应该使备用中继计算机刷新您站点的所有电子邮件。后缀的默认设置启用relay_domains
中所有域的按站点刷新。 postqueue -f
也可以执行此操作,但是还会向外部站点推送邮件,即,它可以完成超出您需要的工作。
您如何确定邮件尚未送达?它们仍在备份主机上还是已发送到主主机上然后丢失了?