O seguinte deve funcionar para o postfix igual ou superior a 2.7
.
Você precisa modificar /etc/postfix/master.cf
, alterar a linha smtp inet n - n - - smtpd
para algo assim:
domain1 unix - - n - - smtp
-o syslog_name=postfix-mail.example.com
-o smtp_helo_name=mail.example.com
-o smtp_bind_address=1.1.1.1
domain2 unix - - n - - smtp
-o syslog_name=postfix-mail.abc.com
-o smtp_helo_name=mail.abc.com
-o smtp_bind_address=2.2.2.2
#...
Em seguida, em /etc/posfix/main.cf
, você precisará remover os mapas de transporte antigos (se houver) e depois adicionar sender_dependent_default_transport_maps
para exmaple:
sender_dependent_default_transport_maps = hash:/etc/postfix/sender_transport
Em /etc/postfix/sender_transport
, você precisa adicionar:
@example.com domain1:
@abc.com domain2:
#...
Em seguida, você precisa criar um banco de dados hash a partir do arquivo sender_transport
, com o comando:
postmap hash:/etc/postfix/sender_transport
Reinicie o postfix para selecionar as alterações.
Você também pode mover os mapas de transporte para um banco de dados e criar uma tabela para os domínios, etc. Isso é apenas uma configuração básica, mas deve dar algumas idéias.