Przekaźnik Postfix na podstawie odbiorcy nadawcy

0

Jaka jest najlepsza praktyka, gdy trzeba zaimplementować tego rodzaju zestaw reguł w Postfix?

  • E-mail wysłany z lokalnego domain1.com, domain2.comna example.com, example1.compowinien zostać przekazany smtp.external.com.
  • E-mail wysyłany do wszystkich innych osób @example.comi example1.compowinien być przekazywany lokalnie.

Wiem, że istnieje sposób na wykonanie przekaźnika filtrującego adres odbiorcy transport_maps, ale nie wiem, jak filtrować w zależności od adresu nadawcy.

Contertulio
źródło

Odpowiedzi:

0

Istnieje sposób (choć moim zdaniem nie całkiem czysty), dopasowanie go do header_checksparametru. Na przykład:

header_checks = pcre:/etc/postfix/my_relays

Teraz w /etc/postfix/my_relays:

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

Działania smtp1i smtp2są potrzebne tylko wtedy, gdy musisz uwierzytelnić się na serwerze host1.example.comlub host2.example.comza pomocą hasła, w przeciwnym razie smtpwystarczy zastąpienie ich słowem kluczowym.

Jeśli trzeba uwierzytelnić tych serwerów, trzeba określić, co jest smtp1i smtp2w master.cfpliku:

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

W ostatnim kroku twoje smtp[12].relaypliki muszą zawierać parametry uwierzytelnienia, aby połączyć się z tymi hostami (zauważam, że jest to potrzebne tylko, jeśli potrzebujesz uwierzytelnienia).

[hostX.example.com]   userX:passwordX
nKn
źródło
To polecenie jest idealne do filtrowania nadawców poczty, ale chcę jednocześnie filtrować zarówno nadawców, jak i odbiorców. W przypadku określonej poczty przychodzącej i wychodzącej filtruj za pomocą zewnętrznego przekaźnika.
Contertulio,