Postfix. Работа с очередью сообщений — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
(не показано 7 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | Посмотреть очередь | + | '''Посмотреть очередь''' |
mailq | mailq | ||
или: | или: | ||
Строка 5: | Строка 5: | ||
− | Принудительно запустить отправку из очереди | + | '''Принудительно запустить отправку из очереди''' |
mailq -q | mailq -q | ||
или: | или: | ||
postqueue -f | postqueue -f | ||
− | Очистить очередь | + | |
− | 1. Удалить все сообщения | + | '''Очистить очередь'''<br> |
+ | 1. Удалить все сообщения | ||
postsuper -d ALL | postsuper -d ALL | ||
− | 2. Удалить определенное письмо из очереди | + | 2. Удалить определенное письмо из очереди |
+ | postsuper -d <идентификатор письма> | ||
− | + | * идентификатор письма можно увидеть командой mailq. | |
− | |||
3. Очистить очередь по отправителю: | 3. Очистить очередь по отправителю: | ||
+ | postqueue -p | tail -n +2 | awk 'BEGIN { RS = "" } /spammer@email\.com/ { print $1 }' | tr -d '*!' | postsuper -d - | ||
+ | * в данном примере мы удалим все письма от spammer@email.com. | ||
− | |||
− | + | '''Количество писем в очереди'''<br> | |
− | |||
− | Количество писем в очереди | ||
Команда mailq в конце выдает общее количество сообщений в очереди, например: | Команда mailq в конце выдает общее количество сообщений в очереди, например: | ||
+ | -- 23 Kbytes in 18 Requests. | ||
+ | * в данном примере в очереди находится 18 сообщений общим объемом 23 Кбайт. | ||
− | |||
− | |||
− | |||
Также, очередь можно посмотреть командами: | Также, очередь можно посмотреть командами: | ||
− | + | find /var/spool/postfix/deferred -type f | wc -l | |
− | 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/active -type f | wc -l | + | find /var/spool/postfix/defer -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 | ||
− | |||
− | |||
+ | '''Информация о конкретном сообщении''' | ||
+ | postcat -q <идентификатор> | ||
* показывает параметры сообщения и причину, по которой письмо еще не отправлено. | * показывает параметры сообщения и причину, по которой письмо еще не отправлено. |
Текущая версия на 00:18, 7 апреля 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
Информация о конкретном сообщении
postcat -q <идентификатор>
- показывает параметры сообщения и причину, по которой письмо еще не отправлено.