Назад | Перейти на главную страницу

изменение постфикса на адрес на основе отправляющего хоста

У нас есть один центральный почтовый сервер postfix и еще несколько серверов приложений позади, тогда как эти серверы ретранслируют почту через центральный почтовый сервер. теперь я хочу настроить центральный, чтобы переписать поле TO с исходного получателя на общий, например test@example.com, но ТОЛЬКО с двух конкретных серверов приложений, поэтому:

postfix должен проверять, с какого сервера приложений приходит почта (либо по IP, либо лучше по именам хостов (FQDN), и если имя хоста совпадает с app1.example.com или app2.example.com, то получателем почты всегда будет test@example.com .

если имя хоста не app1 или app2, то исходный получатель остается (без перезаписи).

мне удалось только переписать все письма TO заголовок, но не отправив имя хоста / ip

Не очень элегантным решением было бы использовать REDIRECT в проверках заголовков. Он отправит ваше письмо на желаемый адрес, но не перепишет TO заголовок.

В main.cf раскомментируйте или положите

header_checks = regexp:/etc/postfix/header_checks

если это еще не сделано.

В /etc/postfix/header_checks поставить что-то вроде:

/^Received:.*app1.example.com.*/ REDIRECT testing@example.com

Если обратный DNS работает некорректно, вам лучше использовать IP.

Не забывай бежать postmap /etc/postfix/header_checks