crontab sendet monatelange E-Mails

11

ubuntu 14.04 Mailserver: Postfix

root erhält ein Dutzend E-Mails von crontab. Diese Mails enthalten PHP-Warnungen.

  • Ich habe die Ursache für diese Warnungen behoben.
  • Ich habe alle Cronjobs so korrigiert, dass keine E-Mails gesendet werden (Ausgabe gesendet an >/dev/null 2>&1)
  • Ich habe alle vorherigen E-Mails gelöscht

    / var / mail / root

    / var / spool / mail / root

Aber ich erhalte immer noch jede Stunde ein Dutzend E-Mails. Diese E-Mails stammen von Cronjobs und sind manchmal fast einen Monat alt.

Ich verstehe nicht: Woher kommen diese E-Mails und wo werden sie gespeichert?

Pixeline
quelle
2
Wie sieht die mailqAusgabe aus? Haben Sie bereits einen E-Mail-Header untersucht? Wenn nicht, suchen Sie nach möglichen Absender-IPs, E-Mails, Servern usw., Sie können diese auch veröffentlichen.
Diamant
1
Vielen Dank, mailqich wusste es nicht, also habe ich es gegoogelt und festgestellt, dass dies postsuper -d ALLsie alle löschen würde. Es scheint, dass 5615 Nachrichten gelöscht wurden ... (Quelle: cyberciti.biz/tips/howto-postfix-flush-mail-queue.html )
pixeline

Antworten:

20

Dies sind nicht zugestellte alte Mails in der E-Mail-Warteschlange. Sie müssen sie herausfinden und löschen, wenn Sie sie entfernen möchten.

Sie können sie alle gleichzeitig mailqüberprüfen und postsuper -d ALLlöschen.

Einige Punkte zu beachten:

  • Wenn Sie relativ alte E-Mails empfangen, können Sie sicher sein, dass diese E-Mails irgendwo in der Warteschlange stehen (entweder auf dem lokalen Server oder in der Ferne) und jetzt zugestellt werden.

  • Um die gesamte Warteschlange für Postfix anzuzeigen, können Sie Folgendes verwenden: mailqoder postqueue -pund die Ausgaben sind identisch. Dies kann sich als unwirksam erweisen, wenn Sie Tausende von Mails in der Warteschlange haben, da die ausgegebenen Befehle versuchen, alle auf einmal zu sichern. In diesem Fall können Sie den Befehl like verwenden mailq | more.

  • Wenn Sie eher notwendige E-Mails in der Warteschlange haben, können Sie Folgendes verwenden: postfix flushoder postfix -fdie versuchen, die Warteschlange zu leeren oder mit anderen Worten, sie sofort zu senden.
  • In einer Situation, in der Sie viele verzögerte E-Mails in der Warteschlange haben und diese ausschließlich entfernen möchten, können Sie sie verwenden postsuper -d ALL deferred.
  • qshapeist auch ein sehr nützlicher Befehl beim Untersuchen von mailq. Bitte überprüfen Sie die Postfix-Engpassanalyse .
Diamant
quelle
4

Das klingt nach Nachrichten, die in die Warteschlange gestellt wurden und jetzt zugestellt werden. Wenn diese Nachrichten von Ihrem eigenen Server stammen, wurden sie unten /var/spool/postfixin der Warteschlange für ausgehende E-Mails und im Befehl gespeichert sudo showqoder sudo postqueue -psollten alle verbleibenden nicht zugestellten Nachrichten auflisten, die sich noch in der Warteschlange befinden.

/ var / spool / mail / root ist ein Standard-Postfachspeicherort, der E-Mails enthält, die bereits an das endgültige Ziel geliefert wurden. Durch das Entfernen von Nachrichten von dort wird nicht verhindert, dass neue Nachrichten eintreffen :)

Diese Fragen und Antworten können hilfreich sein, um die Warteschlange zu bereinigen

HBruijn
quelle