У меня два хозяина. Один mail1.example.com
а другой mail2.example.com
. У каждого сервера есть свой публичный IPv4-адрес, но они находятся в разных географических точках. Доменное имя имеет mail1
MX как почтовый сервер. Мне нужно пересылать всю входящую почту на mail2
.
Я попытался реализовать транспортную карту, отредактировав Postfix main.cf
, но не удалось. Как правильно это сделать? Какие требования к каждому серверу?
Вам не обязательно нужна транспортная карта, хотя можно и так. Указание relayhost = mail2
в main.cf должно быть все, что вам нужно, чтобы получать почту туда, куда нужно.
Вам также необходимо убедиться, что mail1 не считает себя конечной системой назначения для любого из задействованных доменов. т.е. поместите домены, с которыми вы работаете relaydomains
, и уж точно не в mydestination
.
Есть довольно сложный пример на http://www.postfix.org/STANDARD_CONFIGURATION_README.html#firewall который, вероятно, будет подходящим, и который использует транспортные карты. Это связано с тем, чтобы избежать ретрансляции субдоменов указанных доменов ретрансляции, поэтому может быть излишним.
Я был бы немного обеспокоен тем, что такая внутренняя ретрансляция существенно сокращает ваши возможности обработки спама. Внутренний хост не может легко принимать решения на основе удаленного IP-адреса, не может использовать серые списки, не может тщательно проверять, ожидает ли удаленный хост строк ответа от хоста перед отправкой следующей почтовой команды и т. Д. Хост шлюза, вероятно, не у меня нет информации о существующих аккаунтах и т. д. Если хост шлюза принимает электронное письмо, и оно оказывается недоставленным, вы должны отправить свои ошибки по электронной почте на адрес отправителя, который обычно называют «обратным рассеянием» (убедитесь, что вы знакомы с возникающими там проблемами).