Postfix централизованная ретрансляция - Как скрыть исходящий сервер?

У меня есть центральный сервер ретрансляции почты и 4 других сервера, которые отправляют почту через первый.

Когда я отправляю почту с одного из "подчиненных" серверов, исходящая почта прибывает в пункт назначения с некоторыми ссылками на исходный сервер, который ее создал.

Например, последнее письмо включает в себя ретранслятор:

Received: from mail.myserver.com (mail.myserver.com. [178.63.10.61])

Но и исходный сервер:

Return-Path: <mywebsite@www1.myserver.com>

Я хотел бы скрыть все ссылки на второй и показывать только имя хоста последнего реле.

Я уже был в состоянии скрыть некоторые ссылки, используя регулярные выражения с header_checks, но некоторые другие, такие как Return-path, кажутся не стираемыми.

2 ответа

Решение

Помимо решения, в котором вы добавляете адрес отправки в код приложения, вы также можете рассмотреть возможность использования постфикса для вас. Документация Postfix содержит обзор информации о перезаписи при получении адреса README, получение.

Другое, возможно, более простое решение, это использование канонической таблицы на почтовом сервере, которая затем будет включать в себя следующее отображение:

mywebsite@www1.myserver.com mywebsite1@myserver.com

Последний заменит каждый случай mywebsite@www1.myserver.com на mywebsite1@myserver.com во всех заголовках адресов.

Return-Path заголовок добавляется передающим адаптером MTA или исходным механизмом генерации (PHP, Java и т. д.) и обычно используется при сбрасывании сообщений sendonb.

Вы можете настроить свои "подчиненные" серверы на использование определенного адреса, первый пример ниже использует sendmailВторой использует PHP:

sendmail -t -i -f webmaster@yourdomain.com
mail ($ to, $ subject, $ message, $ headers, "-faccount@domain.com");

Источники: RFC 4021, раздел 2.1.22 и RFC 822, раздел 4.3.1.

Другие вопросы по тегам