我有一个备用邮件服务器,以防主要的故障。 在发生故障的情况下,邮件将进入备份服务器,并保持在那里,直到主服务器回来。
如果我等了一段时间,主服务器回来,交付将自动完成,但可能会很长。 那么如何强制所有的邮件发送重试?
例如:postqueue -p:给我一个邮件列表
然后,我尝试postqueue -f(从手册页:冲洗队列:尝试提供所有排队的邮件)。 它确实冲过队列,但邮件没有交付…
根据postqueue(1),你可以简单地运行postqueue -f
来刷新你的邮件队列。 如果邮件在刷新队列后没有被发送,而是被重新发送,那么您可能需要检查邮件日志是否有错误。
看一下postsuper(1)也可能有帮助。 也许消息被搁置,需要首先发布。
postqueue -f
应该工作。 如果不这样做,这是有充分的理由的。 检查日志。 另外, pfqueue是检查邮件线程的非常有用的命令。
sendmail -q
重新发送队列中的所有邮件。
postqueue -s domain.tld
应该使备份中继机器清除您网站的所有电子邮件。 postfix的默认设置为每个站点刷新relay_domains
所有域。 postqueue -f
也会这样做,但也会推出外部网站的邮件,即它比你需要的更多。
你如何确定邮件没有交付? 他们仍然在备份主机上,或者他们已经被发送到主机,然后迷路了吗?