Mail in Postfix Queue zu Empfänger umleiten

0
(0)

Postfix E-Mail bleibt in der Warteschlange hängen, die E-Mail soll nun an einen anderen Empfänger umgeleitet werden! Dieses Szenario kann in Erscheinung treten, wenn zum ursprünglichen Empfänger keine E-Mails zugestellt werden können, zum Beispiel mit Erreichen der Mailbox Speicher Limite, oder der Server mit Fehler antwortet.

Hier kann es hilfreich sein, die E-Mail vorübergehend an einen anderen Empfänger zu senden. Der Beitrag zeigt die Schritte, um eine in der Postfix Queue verbleibende E-Mail an einen alternativen Empfänger zu senden.

Mail aus Postfix Queue senden – so geht’s

Zuerst sucht man in der Postfix Queue die Queue-ID der betreffenden E-Mail, diese man an eine andere Empfänger Adresse senden möchte.

$ postqueue -p | grep 'john@example.org' -B 2

  Der Parameter -B 2 gibt zusätzlich zwei Zeilen vor gesuchter Parse aus.

Die Ausgabe kann in etwa wie die folgende aussehen.

BCD2C3035D31!   37023 Thu Feb 17 08:59:55  suite102@mailings.daydeal.net
        (connect to 12.34.56.78[12.34.56.78]:25: Connection timed out)
                             john@example.org

Hier wurde eine E-Mail an john@example.org gesendet, die ich nun an eine andere Adresse zustellen möchte. Die Queue-ID ist BCD2C3035D31 die wir im weiteren Verlauf benötigen.

Alternativ lassen sich auch alle E-Mails jeder Postfix Queue auflisten.

$ mailq

Um zu verhindern dass Postfix versucht die E-Mail in der Zwischenzeit auszuliefern, setzen wir diese in Wartestellung mit -h auf on hold.

$ postsuper -h BCD2C3035D31
postsuper: BCD2C3035D31: placed on hold
postsuper: Placed on hold: 1 message

  Die E-Mails werden mit on hold nicht gelöscht. Das Ausrufezeichen (!) gibt an, das die Nachricht in Wartestellung ist.

Nun extrahiert man die E-Mail und speichert sie in eine temporäre Datei.

$ postcat -qbh BCD2C3035D31 > /tmp/email.eml

Nachdem die E-Mail nun extrahiert ist, kann man diese an einen anderen Empfänger als das Original senden.

$ sendmail -f john@example.org mike@domain.org < /tmp/email.eml

Die E-Mail wird von john@example.org an mike@domain.org gesendet.

Die Postfix Deffered Queue nach aufgeschoben E-Mails durchsuchen.

$ postqueue -vp

Nachdem die Zustellung an die neue E-Mail-Adresse bestätigt wurde, kann die E-Mail aus der Postfix Warteschlange gelöscht werden.

$ postsuper -d BCD2C3035D31
postsuper: BCD2C3035D31: removed
postsuper: Deleted: 1 message

Die temporäre Datei /tmp/email.eml löschen.

$ rm -f /tmp/email.eml

Hilfreiche Postfix Kommandos

  In die E-Mail schauen mit postcat.

$ postcat -vq BCD2C3035D31

E-Mails freigeben, die in die Warteschleife gelegt wurden.

$ postsuper -H BCD2C3035D31
postsuper: BCD2C3035D31: released from hold
postsuper: Released from hold: 1 message

Warteschlange leeren, es wird versucht alle in der Warteschlange befindlichen E-Mails zuzustellen.

$ postqueue -f

Alle E-Mails in der Postfix deffered queue löschen.

$ postsuper -d ALL deferred

Conclusion

Wie in diesem Beitrag aufgezeigt wird, ist es möglich E-Mails aus der Postfix Warteschlange nach auf Hold setzen, diese temporär anderen Empfänger zuzustellen, ebenfalls können verbleibende E-Mail aus der Warteschlange zur System Hygiene wieder gelöscht werden.

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Es tut uns leid, dass der Beitrag für dich nicht hilfreich war!

Lasse uns diesen Beitrag verbessern!

Wie können wir diesen Beitrag verbessern?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.