31.01.2024 · Linux · 1 мин чтения

Работа с очередью сообщений в Postfix


* Посмотреть очередь:

mailq

или:

postqueue -p

* Принудительно запустить отправку из очереди:

mailq -q

или:

postqueue -f

* Удалить все сообщения:

postsuper -d ALL

* Удалить определенное письмо из очереди:

postsuper -d <идентификатор письма>

Идентификатор письма можно увидеть командой

mailq

* Очистить очередь по отправителю:

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

* Настройка очереди:
1. Задать периодичность повторной отправки сообщений:

postconf -e "queue_run_delay = 5m"

2. Задать время, на которое будет отложена отправка сообщений, которые не были отправлены по причине временных неисправностей (например, принимающий сервер не отвечает или просит повторить запрос позже):

postconf -e "minimal_backoff_time = 10m"

3. Задать максимальное время для отправки сообщений, которые не были отправлены по причине временных неисправностей:

postconf -e "maximal_backoff_time = 15m"

4. Выставить время жизни для сообщения в очереди:

postconf -e "maximal_queue_lifetime = 1d"

5. После внесения изменений необходимо перезапустить postfix:

service postfix restart || systemctl restart postfix

* Информация о конкретном сообщении:

postcat -q <идентификатор>

показывает параметры сообщения и причину, по которой письмо еще не отправлено.

Аватар
Автор

MSN

Оставить комментарий

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

15 − восемь =

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.