Postfix. Работа с очередью сообщений
Посмотреть очередь
mailq
или:
postqueue -p
Принудительно запустить отправку из очереди
mailq -q
или:
postqueue -f
Очистить очередь
1. Удалить все сообщения
postsuper -d ALL
2. Удалить определенное письмо из очереди
postsuper -d <идентификатор письма>
- идентификатор письма можно увидеть командой mailq.
3. Очистить очередь по отправителю:
postqueue -p | tail -n +2 | awk 'BEGIN { RS = "" } /spammer@email\.com/ { print $1 }' | tr -d '*!' | postsuper -d -
- в данном примере мы удалим все письма от spammer@email.com.
Количество писем в очереди
Команда mailq в конце выдает общее количество сообщений в очереди, например:
-- 23 Kbytes in 18 Requests.
- в данном примере в очереди находится 18 сообщений общим объемом 23 Кбайт.
Также, очередь можно посмотреть командами:
find /var/spool/postfix/deferred -type f | wc -l find /var/spool/postfix/active -type f | wc -l find /var/spool/postfix/incoming -type f | wc -l find /var/spool/postfix/defer -type f | wc -l
- данные каталоги являются местом, где временно хранятся письма очереди.
Перезапустить очередь
postsuper -r ALL
Если не помогло, поочередно
postfix stop postsuper -r ALL postfix start
Информация о конкретном сообщении
postcat -q <идентификатор>
- показывает параметры сообщения и причину, по которой письмо еще не отправлено.