Работа с почтовой очередью в Postfix
- Posted by swiki
- Posted on 11 февраля, 2018
- Администрирование серверов
- No Comments.
Есть два важных инструмента для работы с почтовой очередью:
1. postqueue Работает с правами пользователя.
2. postsuper Требует права администратора У каждого письма в очереди есть свой Queue ID, именно по этим данным идёт взаимодействие с письмами в очереди.
Что нам понадобится для частого использования:
Вывести содержимое почтовой очереди:
1
|
postqueue -p |
Повторно поставить в очередь письмо с queue_id
1
|
postsuper -r BEE58C2 |
Удалить письмо с queue_id
1
|
postsuper -d BEE58C2 |
Так же можно взаимодействовать со всей очередью, например удалить все письма из очереди
1
|
postsuper -d ALL |
Удержание писем (врядли будете использовать):
Удержать письмо. Оно не будет отправлено.
1
|
postsuper -h BEE58C2 |
Снять статус «удержание» письма. Письмо будет отправлено в свою очередь.
1
|
postsuper -H BEE58C2 |
Массовая обработка писем.
Вариант 1: Найти и удалить письма, которые висят в очереди от MAILER-DAEMON
1
|
postqueue -p | grep 'MAILER-DAEMON' | awk '{print $1}' | postsuper -d - |
Можно сделать запускаемый файл:
1
2
3
4
|
cat << EOF > delByAddr ! #/bin/bash postqueue -p | grep '$1' | awk '{print $1}' | postsuper -d - EOF |
Конечно нужно дать права на запуск
1
|
chmod +x delByAddr |
Использовать так:
1
|
|
Вариант 2: Найти и удалить из очереди письма со статусом ‘reject’
1
|
postqueue -p | grep -B1 'rejected: Domain not found' | grep -vE '(--|reject)' | awk '{print $1}' | postsuper -d - |
Ключик -d в конце скрипта, можно заменить на -h, если хотите сделать массовое удержание или ключик -r, если хотите протолкнуть письма в очереди. Все зависит от поставленных задач.
http://rogovts.ru/opensource/postfix_queue.html