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
เปิดใช้งานแผนที่การขนส่งที่ขึ้นอยู่กับ (ต้องใช้ postfix 2.7.x ขึ้นไป)
ผู้ส่ง
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
ตารางการขนส่ง _ สุ่ม
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 transports (rotate1, rotate2 และ rotate3) ด้วย 3 IP ที่แตกต่างกันจากนั้นตั้งค่าที่บรรทัด mysql:
transport = rotate1 | domain = mydomain.com
transport = rotate2 | domain = mydomain.com
transport = rotate3 | domain = mydomain.com
จากนั้นเมื่อ postfix จะสุ่มการขนส่งที่แตกต่างกันสามแบบ (หมุนหนึ่งถึงสาม) เพื่อส่งอีเมลนี้