crontab发送一个月的电子邮件

Ubuntu 14.04 Mailserver:Postfix

root从crontab接收一打电子邮件。 这些邮件包含PHP警告。

但是我还是每小时收到十几封电子邮件。 这些电子邮件来自cronjobs,有时差不多一个月大。

我不明白:这些电子邮件来自哪里,它们存储在哪里?

这些电子邮件队列中的未送达的旧邮件。 你需要找出并删除它们,如果你想摆脱它们。

您可以使用mailq来检查和postsuper -d ALL一次性删除它们。

有些要注意的地方:

  • 每当你开始接收相对较旧的电子邮件,你可以确定这些电子邮件已经排队(在本地服务器或远程实时),现在正在交付。

  • 要查看postfix的整个队列,可以使用: mailqpostqueue -p ,输出相同。 如果你有成千上万的邮件队列,这可能certificate是无效的,因为命令输出试图一次性转储所有的邮件。 在这种情况下,您可以使用像mailq | more这样的命令 mailq | more

  • 如果你有必要的邮件卡在队列中,你可以使用: postfix flushpostfix -f尝试刷新队列或换句话说,立即尝试发送它们。
  • 在队列中有大量被拖延的电子邮件,并且想要排除它们的情况下,可以使用postsuper -d ALL deferred
  • qshape在查看mailq时也是一个非常有用的命令。 请检查Postfix瓶颈分析 。

这听起来像邮件排队,现在正在交付。 如果这些消息来自您自己的服务器,则它们存储在传出邮件队列中的/var/spool/postfix下面,命令sudo showqsudo postqueue -p应列出仍在队列中的所有未传送的消息。

/ var / spool / mail / root是一个默认邮箱位置,它包含已经传送到最终目的地的邮件,从邮件中删除邮件不会阻止任何新邮件到达:)

这个问答可以用来清理队列