master.cf
Crea diverse interfacce. Uno per ogni dominio:
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
Disabilita tutte le altre mappe di trasporto, ovvero: # transport_maps = xxxxx
Abilita mappa di trasporto dipendente (richiede postfix 2.7.xo successivo)
sender_dependent_default_transport_maps = mysql: /etc/postfix/config/transport_random_dependent.cf
transport_random_dependent.cf
Esempio:
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
Tabella 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.
L'istruzione "RAND () LIMIT 1" è necessaria solo se si desidera utilizzare trasporti casuali per lo stesso dominio.
Ad esempio, desideri inviare da mydomain.com da 3 IP diversi.
Quindi, crei 3 trasporti (ruota1, ruota2 e ruota3) con 3 IP diversi, quindi imposta le righe mysql:
transport = rotate1 | domain = mydomain.com
transport = rotate2 | domain = mydomain.com
transport = rotate3 | domain = mydomain.com
Quindi, quando postfix randomizzerà tre diversi trasporti (ruotando da uno a tre) per inviare questa e-mail.