Реле Postfix на основе получателя отправителя

581
Contertulio

Какова лучшая практика, когда нужно реализовать такой набор правил в Postfix?

  • Электронная почта, отправленная с местного domain1.com, domain2.comна example.com, example1.comдолжна быть передана smtp.external.com.
  • Электронная почта отправлена ​​всем остальным @example.comи example1.comдолжна быть передана на месте.

Я знаю, что есть способ фильтрации адресов получателей с использованием ретрансляции transport_maps, но я не знаю, как фильтровать в зависимости от адреса отправителя.

0

1 ответ на вопрос

0
nKn

Есть способ (хотя и не совсем чистый, на мой взгляд), сопоставив его с header_checksпараметром. Например:

header_checks = pcre:/etc/postfix/my_relays 

Сейчас в /etc/postfix/my_relays:

/^From:.*asender\@domain1\.com/ smtp1:[host1.example.com] /^From:.*anothersender\@domain2\.com/ smtp2:[host2.example.com] 

Эти smtp1и smtp2действия необходимы только в том случае, необходимо выполнить аутентификацию на host1.example.comили host2.example.comсерверах с помощью пароля, в противном случае их замены с smtpключевым словом будет достаточно.

Если вам необходимо для проверки подлинности этих серверов, необходимо определить, что smtp1и smtp2в вашем master.cfфайле:

smtp1 unix - - - - 10 smtp -o smtp_sasl_password_maps=hash:/etc/postfix/smtp1.relay smtp2 unix - - - - 10 smtp -o smtp_sasl_password_maps=hash:/etc/postfix/smtp2.relay 

В качестве последнего шага ваши smtp[12].relayфайлы должны включать параметры аутентификации для подключения к этим хостам (замечу, что это необходимо, только если вам нужна аутентификация).

[hostX.example.com] userX:passwordX 
Эта команда идеально подходит для фильтрации отправителей почты, но я хочу фильтровать как отправителей, так и получателей одновременно. С определенной входящей и исходящей почтой фильтруйте с помощью внешнего реле. Contertulio 7 лет назад 0

Похожие вопросы