postfix 保持队列,释放 x 条最旧的消息或 x 日期之前排队的所有消息

postfix 保持队列,释放 x 条最旧的消息或 x 日期之前排队的所有消息

我有一个私人 Postfix 中继 VPS,供客户使用,他们在办公室安装了自己的电子邮件服务器并通过 ADSL 连接托管。为了确保电子邮件传递的可靠性,不建议直接从 ISP IP 地址发送邮件,因此我为他们提供了使用我们的私人中继的功能。但是,其中一位客户决定向 5,000 名收件人发送新闻稿。我立即发现了这一点,并将它们全部转储到保留队列中。

但现在我想尝试分批刷新该队列,从最旧的消息开始。

有人知道怎么做吗?
看起来,通过 grep 输出来查找 shell 脚本会非常麻烦。postqueue -p

答案1

如果您知道最早的消息有多旧,您可以使用 grep 和 awk magic 来做到这一点。例如,如果最早的消息来自 7 月 13 日星期五,您可以执行以下操作:

postqueue -p |grep "Fri Jul 13"|head -5000 | awk '{print "postsuper -I", $1}'|sh

取出该日期的前 5000 条消息。这不会对该日期的邮件发送时间进行任何排序,如果您需要这样做,只需为每个小时添加小时即可。

相关内容