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

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

我有一台备用邮件服务器,以防主服务器出现故障。发生故障时,邮件会发送到备用服务器上,并一直留在那里,直到主服务器恢复。

如果我等待一段时间,主服务器恢复后就会自动发送,但可能需要很长时间。那么如何强制重试发送所有邮件?

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

然后我尝试了 postqueue -f(来自手册页:刷新队列:尝试发送所有排队的邮件。)。它确实刷新了队列,但邮件没有被发送……

答案1

根据后队列(1)您可以简单地运行postqueue -f来刷新邮件队列。如果刷新队列后邮件没有送达,而是重新排队,您可能需要检查邮件日志中是否有错误。

一睹为快postsuper(1)也可能有帮助。也许这些消息处于搁置状态,需要先发布。

答案2

postqueue -f应该可以工作。如果没有,那肯定有充分的理由。检查日志。另外队列是一个用于检查邮件假脱机的非常有用的命令。

答案3

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

答案4

postqueue -s domain.tld应导致备份中继机刷新您站点的所有电子邮件。postfix 的默认设置启用了 中所有域的站点刷新relay_domainspostqueue -f也会执行此操作,但还会推送外部站点的邮件,也就是说,它所做的超出了您的需要。

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

相关内容