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

Обновлено Обновлено: Опубликовано Опубликовано:

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

mailq

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

mailq -q

или: 

postqueue -f

Очистить очередь

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

postsuper -d ALL

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

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

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

Количество писем в очереди

Команда 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

Настройка очереди

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

postconf -e "queue_run_delay = 5m"

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

postconf -e "minimal_backoff_time = 10m"

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

postconf -e "maximal_backoff_time = 15m"

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

postconf -e "maximal_queue_lifetime = 1d"

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

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

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

# Серверы # Почта # Linux
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет