Работа с очередью сообщений в Postfix: различия между версиями

Материал из support.qbpro.ru
imported>Vix
(Новая страница: «'''Посмотреть очередь''' mailq Принудительно запустить отправку из очереди mailq -q или: postqueue...»)
 
imported>Vix
Нет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 1: Строка 1:
'''Посмотреть очередь'''
'''Посмотреть очередь'''
  mailq
  mailq
Принудительно запустить отправку из очереди
'''Принудительно запустить отправку из очереди'''
  mailq -q
  mailq -q
или:  
или:  
Строка 7: Строка 7:


'''Очистить очередь'''
'''Очистить очередь'''
 
<hr>
Удалить все сообщения:
'''Удалить все сообщения:'''
  postsuper -d ALL
  postsuper -d ALL


Удалить определенное письмо из очереди:
'''Удалить определенное письмо из очереди:'''
  postsuper -d <идентификатор письма>
  postsuper -d <идентификатор письма>


* идентификатор письма можно увидеть командой '''mailq.'''<br>
* идентификатор письма можно увидеть командой '''mailq.'''<br>
'''Количество писем в очереди'''
'''Количество писем в очереди'''
 
<hr>
Команда '''mailq''' в конце выдает общее количество сообщений в очереди, например:
Команда '''mailq''' в конце выдает общее количество сообщений в очереди, например:
  -- 23 Kbytes in 18 Requests.
  -- 23 Kbytes in 18 Requests.


* в данном примере в очереди находится 18 сообщений общим объемом 23 Кбайт.<br>
* в данном примере в очереди находится 18 сообщений общим объемом 23 Кбайт.<br>
Также, очередь можно посмотреть командами:
'''Также, очередь можно посмотреть командами:'''
  find /var/spool/postfix/deferred -type f | wc -l
  find /var/spool/postfix/deferred -type f | wc -l


Строка 30: Строка 30:
  find /var/spool/postfix/defer -type f | wc -l
  find /var/spool/postfix/defer -type f | wc -l


* данные каталоги являются местом, где временно хранятся письма очереди.<br>
'''* данные каталоги являются местом, где временно хранятся письма очереди.'''<br>
Перезапустить очередь
<hr>
'''Перезапустить очередь'''
  postsuper -r ALL
  postsuper -r ALL
 
'''
Если не помогло, поочередно:
Если не помогло, поочередно:'''
  postfix stop
  postfix stop


Строка 41: Строка 42:
  postfix start
  postfix start


'''Настройка очереди'''<br>
'''Настройка очереди:'''<br>
Задать периодичность повторной отправки сообщений:
<hr>
'''Задать периодичность повторной отправки сообщений:'''
  postconf -e "queue_run_delay = 5m"
  postconf -e "queue_run_delay = 5m"


Строка 49: Строка 51:
  postconf -e "minimal_backoff_time = 10m"
  postconf -e "minimal_backoff_time = 10m"


Задать максимальное время для отправки сообщений, которые не были отправлены по причине временных неисправностей:
'''Задать максимальное время для отправки сообщений, которые не были отправлены по причине временных неисправностей:'''
  postconf -e "maximal_backoff_time = 15m"
  postconf -e "maximal_backoff_time = 15m"


Выставить время жизни для сообщения в очереди:
'''Выставить время жизни для сообщения в очереди:'''
  postconf -e "maximal_queue_lifetime = 1d"
  postconf -e "maximal_queue_lifetime = 1d"


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


Информация о конкретном сообщении
'''Информация о конкретном сообщении'''
  postcat -q <идентификатор>
  postcat -q <идентификатор>


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


ИСТОЧНИКИ:
'''ИСТОЧНИКИ:'''
<hr>
<hr>
* [https://www.dmosk.ru/miniinstruktions.php?mini=postfix-queue Работа с очередью сообщений в Postfix]
* [https://www.dmosk.ru/miniinstruktions.php?mini=postfix-queue Работа с очередью сообщений в Postfix]
* [https://linux-notes.org/udalit-ochistit-sbrosit-ochered-v-postfix/ Удалить/Очистить/Сбросить очередь в postfix]

Текущая версия от 05:31, 30 марта 2019

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

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"

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

service postfix restart || systemctl restart postfix

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

postcat -q <идентификатор>
  • показывает параметры сообщения и причину, по которой письмо еще не отправлено.

ИСТОЧНИКИ: