Вопрос или проблема
У меня есть вопрос и одновременно проблема. Я хотел бы знать, действительно ли мой сервер хранит возвратные письма. Я понимаю, что когда почтовый ящик переполнен, письмо генерирует возврат, и, следовательно, это письмо должно попасть в очередь повторной отправки на определенное количество дней в зависимости от моей конфигурации.
Логи выглядят следующим образом:
Mar 14 09:20:25 mailserver postfix/qmgr[1909892]: A094718D8C9: from=<[email protected]>, size=5966953, nrcpt=1 (queue active)
Mar 14 09:20:25 mailserver postfix/smtp[3498638]: 605B518DB74: to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:10025, delay=0.4, delays=0.17/0.02/0.07/0.13, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as A094718D8C9)
Mar 14 09:20:25 mailserver postfix/amavisd/smtpd[3498639]: disconnect from localhost.localdomain[127.0.0.1] ehlo=2 starttls=1 mail=1 rcpt=1 data=1 quit=1 commands=7
Mar 14 09:20:25 mailserver postfix/qmgr[1909892]: 605B518DB74: removed
Mar 14 09:20:26 mailserver postfix/lmtp[3498642]: A094718D8C9: to=<[email protected]>, relay=mailserver.domain.com[192.168.110.10]:7025, delay=0.65, delays=0.13/0.02/0.05/0.45, dsn=5.2.2, status=bounced (host mailserver.domain.com[192.168.110.10] said: 552 5.2.2 Over quota (in reply to end of DATA command))
Mar 14 09:20:26 mailserver postfix/cleanup[3484973]: 4D74118DB81: message-id=<[email protected]>
Mar 14 09:20:26 mailserver postfix/bounce[3498660]: A094718D8C9: sender non-delivery notification: 4D74118DB81
Mar 14 09:20:26 mailserver postfix/qmgr[1909892]: 4D74118DB81: from=<>, size=18113, nrcpt=1 (queue active)
Mar 14 09:20:26 mailserver postfix/qmgr[1909892]: A094718D8C9: removed
Mar 14 09:20:28 mailserver postfix/smtp[3498636]: 4D74118DB81: to=<[email protected]>, relay=relay=mailserver.domain.com[192.168.110.10]:25, delay=0.91, delays=0.12/0.02/0.05/0.72, dsn=2.1.5, status=sent (250 2.1.5 Delivery OK)
Mar 14 09:20:28 mailserver postfix/qmgr[1909892]: 4D74118DB81: removed
postconf | grep “bounce”
2bounce_notice_recipient = postmaster
address_verify_sender = $double_bounce_sender
backwards_bounce_logfile_compatibility = yes
bounce_notice_recipient = postmaster
bounce_queue_lifetime = 5d
bounce_service_name = bounce
bounce_size_limit = 50000
bounce_template_file =
disable_verp_bounces = no
double_bounce_sender = double-bounce
enable_threaded_bounces = no
lmtp_sasl_auth_soft_bounce = yes
multi_recipient_bounce_reject_code = 550
smtp_sasl_auth_soft_bounce = yes
soft_bounce = no
Однако, когда я проверяю в postqueue, ничего не хранится, и кажется, что письма удаляются без повторной попытки. Есть ли какие-либо предложения?
Я действительно новичок в настройке этих переменных, поэтому буду благодарен, если вы поможете мне.
Большое спасибо заранее!
Ответ или решение
В данной ситуации у вас возникла проблема с обработкой возвратных писем (bounce emails) в системе электронной почты, работающей на базе Postfix. Возвратные письма возникают, когда отправленное сообщение не может быть доставлено по различным причинам, например, когда почтовый ящик получателя переполнен. В таких случаях Postfix должен помещать эти письма в очередь для повторной попытки доставки. Однако, как вы отметили, в вашем случае это, похоже, не происходит.
Теория
Когда Postfix сталкивается с недоставленным сообщением, он должен создать уведомление о возврате (bounce notification) и отправить его отправителю, а также поместить письмо в очередь для повторной попытки доставки. Параметры конфигурации Postfix, которые управляют обработкой таких bounce-писем, включают:
- bounce_queue_lifetime — определяет, сколько времени (по умолчанию "5d" или 5 дней) недоставленное сообщение остается в очереди перед его окончательным удалением.
- soft_bounce — если включено (yes), Postfix временно отклоняет все сообщения с записью об ошибке в журналах, вместо немедленного отклонения сообщений. Это может быть полезно для отладки.
Ваши конфигурации показывают, что bounce_queue_lifetime установлен на 5 дней, а soft_bounce отключен, что является стандартной практикой для налаженной Production-системы.
Пример
По вашим логам видно, что сообщение от вашего отправителя не может быть доставлено адресу получателя из-за переполненности ящика (код ошибки 5.2.2). Postfix генерирует сообщение о недоставке, как это видно по следующей строке:
postfix/bounce[3498660]: A094718D8C9: sender non-delivery notification: 4D74118DB81
Тем не менее, сообщение и дополнительные данные указывают на то, что после этого оно удаляется из очереди:
postfix/qmgr[1909892]: A094718D8C9: removed
Это говорит о том, что процесс удаления работает корректно, но он не помещает сгенерированные bounce-сообщения в очередь для повторных попыток, что и является сущностью вашей проблемы.
Применение
Для решения вашей проблемы желательно сделать следующее:
-
Проверка конфигурации:
- Убедитесь, что значение параметра
bounce_queue_lifetime
установлено правильно (например, 5d). - Дважды проверьте соответствие фактической конфигурации и той информации, которую вы получили с помощью команды
postconf | grep "bounce"
. - Убедитесь, что выполнение изменений конфигурации завершено командой
postfix reload
.
- Убедитесь, что значение параметра
-
Логи и отладка:
- Проверьте логи для любых дополнительных сообщений об ошибках с помощью команды
tail -f /var/log/mail.log
. В частности, ищите строки, относящиеся непосредственно к очередям Postfix (postfix/qmgr
). - Временно включите параметр
soft_bounce = yes
и протестируйте обработку обратной связи: это может вам помочь определить проблемы обработки почты.
- Проверьте логи для любых дополнительных сообщений об ошибках с помощью команды
-
Диагностические команды:
- Используйте команду
postqueue -p
для просмотра активной очереди. Если после нескольких попыток доставки и наличия переполненного ящика вы не видите сообщений, это указывает на проблему с конфигурацией. - Убедитесь, что в системе нет других настроек или правил, которые смогли бы акцентировать или переписывать стандартное поведение обработки bounce-сообщений.
- Используйте команду
-
Обновление и стабильность системы:
- Поддерживайте актуальность Postfix и других системных компонентов, чтобы исключить известные баги или уязвимости, которые могут нарушать нормальную обработку почты.
-
Консультация с документацией:
- Ознакомьтесь с официальной документацией по Postfix, особенно разделами, связанными с управлением очередями и обработкой bounce-сообщений. Это позволит более глубоко разобраться в возможностях и настройках.
Если после внедрения всех рекомендаций проблема остается актуальной, может быть полезно проконсультироваться с опытным администратором систем или использовать профессиональные сервисы поддержки.