Полезные команды Postfix. Работа с очередью Postfix
Полезные команды Postfix. Работа с очередью Postfix Проверка синтаксиса конфигурационных файлов Postfix
# postfix check
Просмотр текущих значений параметров Postfix
# postconf
Просмотр стандартных значений параметров Postfix(значений по умолчанию)
# postconf -d # postconf | grep message_size_limit message_size_limit = 10240000
Изменение значения параметра message_size_limit без перезагрузки (работает и после перезагрузки postfix)
# postconf -e 'message_size_limit = 20480000' # postconf | grep message_size_limit message_size_limit = 20480000 # /etc/init.d/postfix restart Shutting down postfix: [ OK ] Starting postfix: [ OK ] # postconf | grep message_size_limit message_size_limit = 20480000
То же самое можно достичь прописав в /etc/postfix/main.cf
# message_size_limit = 20480000
Больше
# man 5 postconf
Работа с очередью Просмотр очереди сообщений
# mailq | less # postqueue -p | less
Просмотр кол-ва сообщений в очереди
# mailq | grep Request -- 25913 Kbytes in 1809 Requests.
Альтернативный вариант — посчитать файлы в соответствующем каталоге:
# 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
Отправка всех сообщений, находящихся в очереди
# postqueue -f # mailq -q # postsuper -r ALL
Отправка сообщения с конкретным идентификатором
# postqueue -i # postsuper -r
Отправка всех сообщений для конкретного домена
# postqueue -s domain.com
Подсчет кол-ва писем в очереди для/от конкретного адресата
# mailq | grep bob@domain.com | wc –l
Просмотр активных отправителей
# mailq|grep ^[A-F0-9] |cut -c 42-80| sort | uniq -c| sort -n 1 MAILER-DAEMON 1 user1@yahoo.com 33 admin@example.com 1770 no-reply@domain.com
Сортировка почты по домену отправителя
# mailq | egrep '\w{2,3}.*\d*:\d*.*@.*\..*' --color|awk '{print $7}'|cut -d@ -f2|sort|uniq –c
из списка почтовой очереди mailq берем первый попавшийся номер письма от нужного нам домена,с которого идет рассылка большого кол-ва сообщений и определяем имя пользователя, с которого идет рассылка
# postcat -vq BA84A294E693 | less
Просмотреть параметры сообщения и причины проблем с отправкой для заданного идентификатора сообщения в очереди:
# postcat -q BA84A294E693 | less
Аналогично,но более подробно
# postcat -vq BA84A294E693 | less
Очистка почтовой очереди(удаление всех писем с очереди)
# postsuper -d ALL
Очистка почтовой очереди типа deferred
# postsuper -d deferred
Удаление письма с конкретным идентификатором
# postsuper -d ID, где ID – идентификатор письма
Удаление писем из очереди в зависимотси от ошибки
# postqueue -p | grep -B1 'rejected: Domain not found' | grep -vE '(--|reject)' | awk '{print $1}' | postsuper -d - # postqueue -p | grep -B1 'Host not found' | grep -vE '(--|\()' | awk '{print $1}' | postsuper -d - # postqueue -p | grep -B1 'rejected: User unknown in local recipient table' | grep -vE '(--|\()' | awk '{print $1}' | postsuper -d - # postqueue -p | grep -B1 'Could not complete sender verify callout' | grep -vE '(--|\()' | awk '{print $1}' | postsuper -d -
Ключик
-d
в конце скрипта, можно заменить на
-h
, если хотите сделать массовое удержание или ключик
-r
, если хотите протолкнуть письма в очереди. Все зависит от поставленных задач. Удаление с очереди писем, отправленных с конкретного адреса
# mailq | grep MAILER-DAEMON | awk '{print $1}' | cut -d\* -f 1 | xargs -n 1 postsuper -d # mailq | grep bob@domain.com | awk '{print $1}' | xargs -n1 postsuper –d # postqueue -p | grep 'MAILER-DAEMON' | awk '{print $1}' | postsuper -d -
Удаление почты для конкретного получателя/отправителя(получатель-поле 8 или отправитель- поле 7)
# mailq | tail -n +2 | grep -v '^ *(' | awk 'BEGIN { RS = "" } { if ($8 == "user@example.com" && $9 == "") print $1 } ' | tr -d '*!' | postsuper -d -
Постановка письма на «удержание» (перевод в режим hold – postfix не будет пытаться отправить письмо получателю в таком режиме)
# postsuper -h # postsuper -h ALL
– все сообщения перевести в режим hold
# postsuper -h deferred
– все письма с очереди deferred перевести в режим hold Снятие письма с режима «удержание»
# postsuper -H # postsuper -H ALL
– все сообщения перевести с режима hold в режим deferred Просмотр списка писем в очереди по доменам получателя Очередь Active
# qshape T 5 10 20 40 80 160 320 640 1280 1280+ TOTAL 0 0 0 0 0 0 0 0 0 0 0
Очередь deferred
# qshape deferred T 5 10 20 40 80 160 320 640 1280 1280+ TOTAL 1803 0 0 0 0 0 0 1 0 307 1495 aol.com 343 0 0 0 0 0 0 0 0 50 293 ovi.com 144 0 0 0 0 0 0 0 0 26 118 facebook.com 122 0 0 0 0 0 0 0 0 17 105 yahoo.co 42 0 0 0 0 0 0 0 0 7 35 ……………………………………………………………….
Срок хранения bounce в очереди 1 сутки (максимальное время письма в очереди после которого письмо cчитается недоставленным)( default: 5d)
bounce_queue_lifetime = 3d
Пробовать доставить обычные сообщения в течении трех дней (максимальное время нахождения письма в очереди, после которого отправителю будет отправлен отчет о недоставке) (default: 5d)
maximal_queue_lifetime = 3d
Минимальный интервал повторной отправки сообщений в очереди (минимальное время между попытками доставить письмо) (default: 300s)
minimal_backoff_time = 180s
Максимальный интервал повторной отправки сообщений в очереди (максимальное время между попытками доставить письмо в статусе deferred) (default: 4000s)
maximal_backoff_time = 6h
Период запуска менеджера очереди
queue_run_delay
Источник: http://otakoyi.com/blog/ru/postfix-podschet-kolichestva-soobscheniy-v-oc... https://poiskvps.ru/viewtopic.php?f=6&t=348 https://rtcamp.com/tutorials/mail/postfix-queue/
- Войдите, чтобы оставлять комментарии