Skip to content

Postfix

Warteschlange

Liste der E-Mails anzeigen, welche gerade bearbeitet (queued) werden, deren Bearbeitung noch aussteht (pending) und welche zurückgestellt (deferred) wurden.

Anzeigen

1
mailq

Alternativ:

1
postqueue -p

Eine bestimmte E-Mail anhand ihrer ID anzeigen.

1
postcat -vq [ID]

Bearbeiten

1
postfix flush

Alternativ:

1
postqueue -f

Löschen

Alle in der Warteschlange befindlichen E-Mails löschen.

1
postsuper -d ALL

Nur die in der Warteschlange zurückgestellten E-Mails löschen.
Dies funktioniert ebenfalls mit pending.

1
postsuper -d ALL deferred

Alle E-Mails in der Warteschlange anhand der Sender-E-Mail-Adresse löschen.

1
mailq | tail -n +2 | head -n -2 | grep -v '^ *(' | awk 'BEGIN { RS = "" } { if ($7 == "sender@example.com") print $1 }' | tr -d '*!' | postsuper -d -

Alle E-Mails in der Warteschlange anhand der Empfänger-Domain löschen.

1
mailq | tail -n +2 | head -n -2 | grep -v '^ *(' | awk 'BEGIN { RS = "" } { if ($8 ~ "example.com") print $1 }' | tr -d '*!' | postsuper -d -

Docker

Chroot deaktivieren

Wenn Postfix innerhalb eines Docker Containers betrieben wird, führt chroot nur zu Problemen und sollte deaktiviert werden.

1
2
3
4
5
#=  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =
# service type private unpriv chroot wakeup  maxproc command + args
#  name        (yes)   (yes)  (yes)  (never)  (100)
#=  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =
smtp      inet  n       -       y       -       -     smtpd

Dazu ändert man unter chroot das y auf n um.

1
2
3
4
5
#=  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  = 
# service type private unpriv chroot wakeup  maxproc command + args
#  name        (yes)   (yes)  (yes)  (never)  (100)
#=  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =
smtp      inet  n       -       n       -       -     smtpd

Tipp

Die Umstellung sollte für alle Dienste gemacht werden.