0

postfix

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

26.05.2023

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

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

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

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

postconf -e “queue_run_delay = 5m”

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

postconf -e “minimal_backoff_time = 10m”

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

postconf -e “maximal_backoff_time = 15m”

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

postconf -e “maximal_queue_lifetime = 1d”

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

service postfix restart || systemctl restart postfix

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

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

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

Свежие комментарии

Подписка

Лучшие статьи


Fatal error: Uncaught Error: Call to a member function have_posts() on null in /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/blog.php:380 Stack trace: #0 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/widgets/latest-posts/widget.php(257): fox56_blog_grid(NULL, Array) #1 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/widgets/latest-posts/register.php(33): include('/home/host18670...') #2 /home/host1867038/the-devops.ru/htdocs/www/wp-includes/class-wp-widget.php(394): Wi_Widget_Latest_Posts->widget(Array, Array) #3 /home/host1867038/the-devops.ru/htdocs/www/wp-includes/widgets.php(837): WP_Widget->display_callback(Array, Array) #4 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/single.php(417): dynamic_sidebar('sidebar') #5 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/single.php(136): fox56_single_sidebar() #6 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/single.php(7): fox56_single_inner() #7 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/single.php(23): fox56_single() #8 /home/host1867038/the-devops.ru/htdocs/www/wp-includes/template-loader.php(106): include('/home/host18670...') #9 /home/host1867038/the-devops.ru/htdocs/www/wp-blog-header.php(19): require_once('/home/host18670...') #10 /home/host1867038/the-devops.ru/htdocs/www/index.php(17): require('/home/host18670...') #11 {main} thrown in /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/blog.php on line 380