master.cf
Создавайте разные интерфейсы. Один для каждого домена:
rotate1 unix - - n - - smtp
-o syslog_name=postfix-rotate1
-o smtp_helo_name=domainone.com.br
-o smtp_bind_address=173.111.111.1
rotate2 unix - - n - - smtp
-o syslog_name=postfix-rotate2
-o smtp_helo_name=domaintwo.com.br
-o smtp_bind_address=173.111.111.2
main.cf
Отключите все другие транспортные карты, например: # transport_maps = xxxxx
Включить зависимую транспортную карту (требуется постфикс 2.7.x или выше)
sender_dependent_default_transport_maps = mysql: /etc/postfix/config/transport_random_dependent.cf
transport_random_dependent.cf
Пример:
user = postfix
password = mypassword
dbname = postfixdb
hosts = localhost
query = SELECT transport FROM transport_random WHERE domain = '%d' AND status='1' ORDER BY RAND() LIMIT 1
Стол transport_random
Column "transport" = rotate1, rotate2, rotate3, rotate4 (etc)
Column "domain" = sender domains (replaced by %d)
Column "status" = boolean (0 or 1) if is enabled the transport.
Инструкция «RAND () LIMIT 1» необходима, только если вы хотите использовать случайные транспорты для одного и того же домена.
Например, вы хотите отправить с mydomain.com с 3 разных IP-адресов.
Затем вы создаете 3 транспорта (rotate1, rotate2 и rotate3) с 3 различными IP-адресами, а затем задаете в строке mysql:
transport = rotate1 | domain = mydomain.com
transport = rotate2 | domain = mydomain.com
transport = rotate3 | domain = mydomain.com
Затем, когда postfix будет рандомизировать три разных транспорта (повернуть один на три), чтобы отправить это письмо.