master.cf
Erstellen Sie verschiedene Schnittstellen. Eine für jede Domain:
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
Deaktivieren Sie alle anderen Transportzuordnungen, z. B .: # transport_maps = xxxxx
Abhängige Transportzuordnung aktivieren (Postfix 2.7.x oder höher erforderlich)
sender_dependent_default_transport_maps = mysql: /etc/postfix/config/transport_random_dependent.cf
transport_random_dependent.cf
Beispiel:
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
Tabelle 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.
Die Anweisung "RAND () LIMIT 1" ist nur erforderlich, wenn Sie zufällige Transporte für dieselbe Domain verwenden möchten.
In Beispiel möchten Sie von mydomain.com aus 3 verschiedene IPs senden.
Anschließend erstellen Sie 3 Transporte (rotate1, rotate2 und rotate3) mit 3 verschiedenen IP-Adressen und setzen diese dann auf mysql-Zeilen:
transport = rotate1 | domain = mydomain.com
transport = rotate2 | domain = mydomain.com
transport = rotate3 | domain = mydomain.com
Wenn Postfix dann drei verschiedene Transporte zufällig sortiert (Rotation eins zu drei), um diese E-Mails zu senden.