LINUX.ORG.RU
ФорумAdmin

заставить Postfix использовать адрес из From в MAIL FROM


0

2

Если посмотреть некоторые недоставленные письма из очереди, то видно, что серверы получателей ругаются на несуществующий адрес (пользователя), который передаётся им через MAIL FROM (он же «sender» в envelope records) и отличается от того, что указывается в заголовке «From» исходящих писем. Вероятно, серверы получателей имеют включённым нечто вроде reject_unverified_sender, проверяющие доступность ящика отправителя ещё на этапе сессии. В sender содержится имя системного пользователя, от которого осуществляется рассылка и который не имеет одноимённого почтового ящика, в «From» же указывается виртуальный почтовый ящик.

host mail.otherhost.ru[1.2.3.4] said: 450 4.1.7 <some_system_user@example.com>: Sender address rejected: undeliverable address: host mx.example.com[5.6.7.8] said: 550 some_system_user@example.com prohibited. We do not relay (in reply to RCPT TO command) (in reply to MAIL FROM command)

Каким образом лучше перенастроить Postfix, чтобы в качестве MAIL FROM использовался адрес из заголовка «From»? При этом хотелось бы, чтобы решение было универсальным, а не требовало упоминания каждого системного аккаунта по отдельности.

Самописным фильтром к smtpd/lmtp, прикрученным в master.conf

Более универсальным было бы использование canonical_maps и виртуального ящика с /dev/null в качестве storage, IMHO.

GateKeeper ★★
()
Ответ на: комментарий от GateKeeper

Чуть не забыл, приведенный ответ из логов свидетельствует о том, что в качестве MAIL FROM был подан адрес, домен которого отсутствует в local_domains исходящего сервера. Это тоже надо исправлять.

GateKeeper ★★
()
Ответ на: комментарий от GateKeeper

Это вас «We do not relay» так смущает? Так, спешу заверить, что данный конкретный сервер, про который взял пример лога, отвечает подобным образом и при несуществовании пользователя на заведомо обслуживаемом домене.
Проблема ещё в том, что рассылающий сервер не является на данный момент MX'ом для исходного домена в рассылках. Серверы же получателей проверяют ящики именно на MX. Но, мне кажется, это никакой роли не играет в данном случае.

frozen_twilight ★★
() автор топика

Пока что впилил в конфиг строчку с smtp_generic_maps

smtp_generic_maps = hash:/etc/postfix/generic_map
где generic_map содержит
some_system_user@example.com info@example.com
Помогает. Но хотелось бы более общего решения.

frozen_twilight ★★
() автор топика
Ответ на: комментарий от frozen_twilight

Более общее - это только фильтр через master.conf, где вся логика уже руками (ну и в main.conf его как фильтр надо указать).

GateKeeper ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.