Работа с почтовой очередью в Postfix

Есть два важных инструмента для работы с почтовой очередью:

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
./delByAddr [email protected]

Вариант 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

Post Tagged with , ,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *