Проверка синтаксиса конфигурационных файлов 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 <ID-сообщения>
# postsuper -r <ID-сообщения>
Отправка всех сообщений для конкретного домена
# 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-DAEMON1 user1@yahoo.com33 admin@example.com1770 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 <ID-сообщения>
# postsuper -h ALL
– все сообщения перевести в режим hold
# postsuper -h deferred
– все письма с очереди deferred перевести в режим hold
Снятие письма с режима «удержание»
# postsuper -H <ID-сообщения>
# 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
Срок хранения 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
(default: 300s)