Как я могу настроить Postfix для игнорирования relayhost при пересылке почты?
В настоящее время я использую relayhost для отправки всей исходящей электронной почты через внешнюю службу SMTP:
# /etc/postfix/main.cf
relayhost = [smtp.mandrillapp.com]
Несколько моих доменов настроены для отправки через альтернативную службу SMTP:
# /etc/postfix/relayhost_maps
@domain1 [email-smtp.us-east-1.amazonaws.com]
@domain2 [email-smtp.us-east-1.amazonaws.com]
Однако у некоторых из моих клиентов входящая почта пересылается на другие учетные записи. Я не хочу отправлять переадресованную электронную почту через мою внешнюю службу SMTP, вместо этого я хочу, чтобы она ретранслировалась напрямую через localhost.
Например, моя машина принимает электронную почту для «user@domain3.com», которую клиент настроил для пересылки на «other@hotmail.com». Я ищу способ пересылки любых электронных писем на адрес other@hotmail.com, которые ретранслируются непосредственно моим сервером, а не моей внешней службой SMTP.
Я думаю, что транспортные карты близки к тому, что мне нужно, и я нашел много информации о том, как маршрутизировать на внешний SMTP с сопоставлением транспорта, но я не могу понять, как ретранслировать с localhost только при пересылке почты.
Я думал, что у меня есть решение:
Как я могу настроить Postfix на игнорирование relayhost для некоторых доменов?
... но когда я попробовал это, я отправил себе электронное письмо и получил его 2500 раз в каком-то цикле между моей машиной и моим шлюзом SMTP, и мне пришлось быстро остановить Postfix!
Итак, в основном я хочу ретранслировать перенаправленные сообщения с локального хоста и непереправленные сообщения через различные службы SMTP.
Есть
transport_maps=hash:/etc/postfix/transport
строку в main.cf, затем добавьте в / etc / postfix / transport:
other@hotmail.com smtp:
бегать postmap /etc/postfix/transport
и перезагрузите postfix, если вы изменили main.cf.