Как работать с очередью postfix

Важно не только настроить почтовый сервер на прием и передачу сообщений, но и научиться работать с очередью 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
5 2 голоса
Оцените статью
Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии