我有一台备用邮件服务器,以防主服务器出现故障。发生故障时,邮件会发送到备用服务器上,并一直留在那里,直到主服务器恢复。
如果我等待一段时间,主服务器恢复后就会自动发送,但可能需要很长时间。那么如何强制重试发送所有邮件?
例如:postqueue -p:给我一个邮件列表
然后我尝试了 postqueue -f(来自手册页:刷新队列:尝试发送所有排队的邮件。)。它确实刷新了队列,但邮件没有被发送……
答案1
根据后队列(1)您可以简单地运行postqueue -f
来刷新邮件队列。如果刷新队列后邮件没有送达,而是重新排队,您可能需要检查邮件日志中是否有错误。
一睹为快postsuper(1)也可能有帮助。也许这些消息处于搁置状态,需要先发布。
答案2
postqueue -f
应该可以工作。如果没有,那肯定有充分的理由。检查日志。另外队列是一个用于检查邮件假脱机的非常有用的命令。
答案3
sendmail -q
立即重试传递队列中的所有邮件。
答案4
postqueue -s domain.tld
应导致备份中继机刷新您站点的所有电子邮件。postfix 的默认设置启用了 中所有域的站点刷新relay_domains
。postqueue -f
也会执行此操作,但还会推送外部站点的邮件,也就是说,它所做的超出了您的需要。
您如何确定邮件尚未送达?它们仍在备份主机上吗?还是已被发送到主主机然后丢失了?