Важно не только настроить почтовый сервер на прием и передачу сообщений, но и научиться работать с очередью postfix, что сильно облегчает работу при разборе полетов
Удаление
Удалить одно сообщения со статусом deferred
postsuper -d <id> deferred
Удалить из очереди все сообщения
postsuper -d ALL
Удалить по критерию Sender
mailq | grep "sender@mail" | awk '{ print $1 }' | tr -d \* | postsuper -d -
Удалить по критерию Recipient
mailq | tail -n +2 | grep -v '^ *(' | gawk 'BEGIN {RS = ""} /recip@mail/ {print $1}' | tr -d '*!' | postsuper -d -
Удалить группу писем от определенного адресата
mailq | grep "sender@mail" | awk '{print $1}' | xargs -J{} -n1 postsuper -d {} deferred
Склеить вывод строк mailq в одну строку и удалить по нужному критерию (в рамках одного письма)
mailq | grep -v "Queue ID" | while read line; do if [ "1" != `echo $line | wc -m` ]; then echo -n " "$line; else echo""; fi ; done | grep "recip@mail" | awk '{ print $1 }' | postsuper -d -
Отправка
Принудительная отправка всех сообщений из очереди, аналог postsuper -r ALL
postqueue -f
Принудительная отправка сообщений из очереди для домена domain.tld
postqueue -s domain.tld
Задержки delays=a/b/c/d из логов при отправке
a — время затраченное на постановку сообщения в очередь
b — время в очереди
c — время затраченое на установку соединения с принимающей стороной (включительно с DNS, HELO и TLS)
d — время затраченное на передачу сообщения принимающей стороне
Просмотр
Просмотр конкретного сообщения из очереди
postcat -q <id>
Показать содержимое очереди, аналог mailq
postqueue -p

- Системный администратор с 2000 года
- Участник Хабр Q&A и cyberforum
- Кейсы