Existe uma maneira (embora não muito limpa na minha opinião), combinando-a com o parâmetro header_checks
. Por exemplo:
header_checks = pcre:/etc/postfix/my_relays
Agora em /etc/postfix/my_relays
:
/^From:.*asender\@domain1\.com/ smtp1:[host1.example.com]
/^From:.*anothersender\@domain2\.com/ smtp2:[host2.example.com]
As ações smtp1
e smtp2
são necessárias apenas se você precisar se autenticar nos servidores host1.example.com
ou host2.example.com
por senha, caso contrário, substituí-los pela palavra-chave smtp
seria suficiente.
Se você precisar se autenticar nesses servidores, precisará definir o que é smtp1
e smtp2
no seu arquivo 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
Como último passo, seus arquivos smtp[12].relay
precisam incluir os parâmetros de autenticação para se conectar a esses hosts (eu observo que isso é necessário apenas se você precisar de autenticação).
[hostX.example.com] userX:passwordX