Мы используем postfix на сервере CentOS для приема входящей почты, затем выполняем некоторую фильтрацию, а затем отправляем сообщение на наш настоящий почтовый сервер, где мы забираем почту. Постфиксный сервер иногда имеет длительные задержки, когда пытается отправить на наш настоящий почтовый сервер. Журналы доставки мы увидим примерно так:
Sep 01 10:09:52 <hostname> postfix/pickup[18057]: 4mGC2s3EdYa3LNN4: uid=12345 from=<sender-email> orig_id=4oGC2h1ZU4a3LNLd
Sep 01 10:09:52 <hostname> postfix/cleanup[28788]: 4mGC2s3EdYa3LNN4: message-id=<id>
Sep 01 10:09:53 <hostname> postfix/qmgr[28730]: 4mGC2s3EdYa3LNN4: from=<sender-email>, size=8874, nrcpt=1 (queue active)
Sep 01 10:12:44 <hostname> postfix/qmgr[24361]: 4mGC2s3EdYa3LNN4: from=<sender-email>, size=8874, nrcpt=1 (queue active)
Sep 01 10:15:49 <hostname> postfix/qmgr[20098]: 4mGC2s3EdYa3LNN4: from=<sender-email>, size=8874, nrcpt=1 (queue active)
Sep 01 10:17:50 <hostname> postfix/qmgr[29129]: 4mGC2s3EdYa3LNN4: from=<sender-email>, size=8874, nrcpt=1 (queue active)
Sep 01 10:20:09 <hostname> postfix/qmgr[30381]: 4mGC2s3EdYa3LNN4: from=<sender-email>, size=8874, nrcpt=1 (queue active)
Sep 01 10:22:05 <hostname> postfix/qmgr[15028]: 4mGC2s3EdYa3LNN4: from=<sender-email>, size=8874, nrcpt=1 (queue active)
Sep 01 10:25:11 <hostname> postfix/qmgr[12533]: 4mGC2s3EdYa3LNN4: from=<sender-email>, size=8874, nrcpt=1 (queue active)
Sep 01 10:28:33 <hostname> postfix/qmgr[30857]: 4mGC2s3EdYa3LNN4: from=<sender-email>, size=8874, nrcpt=1 (queue active)
Sep 01 10:30:16 <hostname> postfix/qmgr[21858]: 4mGC2s3EdYa3LNN4: from=<sender-email>, size=8874, nrcpt=1 (queue active)
Sep 01 10:32:41 <hostname> postfix/smtp[26435]: 4mGC2s3EdYa3LNN4: to=<user@example.com>, relay=server.example.com[x.x.x.x]:25, delay=1379, delays=1234/132/3.5/9.6, dsn=2.0.0, status=sent (250 OK)
Sep 01 10:32:41 <hostname> postfix/qmgr[12857]: 4mGC2s3EdYa3LNN4: from=<sender-email>, size=8874, nrcpt=1 (queue active)
На данный момент мы не смогли выяснить, что означает сообщение «(очередь активна)» в этой ситуации. В чем причина сообщения «(очередь активна)» и почему это вызывает задержку сообщения более 1000 секунд?
На данный момент нам не удалось выяснить, что такое "(очередь активна)"
Postfix поддерживает очереди для ожидающих писем, «очередь активна» означает, что в очереди есть письма.
Чтобы увидеть проблему с сообщениями в очереди:
sudo mailq
или
sudo postqueue -p
В чем причина сообщения «(очередь активна)».
Сообщения помещены в очередь из-за ошибок доставки. Такими ошибками могут быть: ошибка DNS, полный почтовый ящик или несуществующий получатель почты.
почему это вызывает задержку сообщения более 1000 секунд
Время ожидания настраивается в файле main.cf. Согласно постфиксу документация
Минимальное время между попытками доставить отложенное сообщение; до Postfix 2.4 значение по умолчанию было 1000 секунд.
Если 1000 секунд для вас слишком много, вы можете изменить таймер. Советую прочитать весь постфикс руководство по настройке прежде чем вносить какие-либо изменения.
Наконец, вы можете очистить очередь (заставить postfix немедленно обработать очередь), используя
sudo postqueue -f
или
sudo postfix flush
Я наткнулся на этот сайт с интересной информацией:
http://en.redinskala.com/postfix-maillog-interpretation/
Я нашел пару вещей:
1) Они привели пример строки журнала:
2 января 20:31:17 tmcent01 postfix / qmgr [26454]: B58C4330038: from =, size = 711, nrcpt = 1 (очередь активна)
В этом объяснении я добавил:
Строка 4 указывает, что исправления синтаксиса закончены а теперь почта соответствует RFC 822, с этого момента почта попадает в руки демона «qmgr». Этот демон отвечает за перемещение писем, оставленных qmgr, в соответствующую очередь. Qmgr постоянно проверяет, какие письма во входящей очереди имеют разрешения «700», и, видя такой файл, автоматически отправляет его в «активную» очередь. Это связано с тем, что любая почта, оставленная после очистки с разрешениями «700», считается готовой к доставке в конечный пункт назначения, будь то локальная или внешняя почта. В этой строке мы можем увидеть почтовый ящик отправителя, количество получателей, общий размер письма (до этого момента, потому что окончательный размер может измениться, когда он будет получен в почтовом ящике получателя) и очередь, в которую оно перемещается..
Кажется, что «очередь активна» может означать, что сообщение перемещается в активную очередь.
2) «Задержки» сообщаются в следующем порядке:
smtpd, cleanup, qmgr и local, в тех случаях, когда почта не является внутренней, вы увидите, что в последний раз это была почта «smtp», а не «local»
Порядок может отличаться от указанного здесь:
Понимание записи файла журнала Postfix
Поэтому я думаю, что если я вижу несколько записей «(активна очередь)», это может быть связано с перезагрузкой постфикса или чем-то еще в нужное время, чтобы вызвать qmgr
для повторной постановки сообщения в «активную» очередь. Это мое предположение, основанное на этом:
http://postfix.1071664.n5.nabble.com/Understanding-delays-td10263.html
Кто убил ваш администратор очередей и перезапустил Postfix? Теперь сообщение должно было повторно попасть в активную очередь. Не перезагружайте часто из cron, ...