1、 根据发件人地址 或者发件人domain ,指定特定IP发送邮件
使用参数选项: sender_dependent_default_transport_maps
step1: 检查postfix版本
必须要 在2.7版本以上 sender_dependent_default_transport_maps才有效
# postconf mail_version
step2:在/etc/postfix/main.cf 中添加
# vi /etc/postfix/main.cf
sender_dependent_default_transport_maps = /etc/postfix/sender_transport_maps
step3:在master.cf中添加对应 服务
# vi /etc/postfix/master.cf
out_domain1 unix - - n - - smtp -o smtp_bind_address=192.168.33.100 -o smtp_helo_name=domain1.tld
out_domain2 unix - - n - - smtp -o smtp_bind_address=192.168.33.110 -o smtp_helo_name=domain2.tld
out_domain3 unix - - n - - smtp -o smtp_bind_address=192.168.33.120 -o smtp_helo_name=domain3.tld
step4: 创建 sender_transport_maps 文件
#vi /etc/postfix/sender_transport_maps
@domain1.tld out_domain1: @domain2.tld out_domain2: @domain3.tld out_domain3:
注意: sender_transport_maps 文件中 @不能省略, 否则不生效,若对某个用户地址发信指定IP,把该用户email地址加入 sender_transport_maps中即可,例如:
[email protected] out_domain1:
step5: 使用postmap命令生成 .db文件
postmap /etc/postfix/sender_transport_maps
默认会生成 /etc/postfix/sender_transport_maps.db文件,这步一定不能少,而且每次更新sender_transport_maps 文件,要重新执行生成新的.db文件
2、 根据收件人地址 或者 收件人domain, 指定特定IP发送邮件
使用参数选项:transport_maps
step1:在/etc/postfix/main.cf 中添加
# vi /etc/postfix/main.cf
transport_maps = /etc/postfix/transport_maps
step2:在master.cf中添加对应 服务
# vi /etc/postfix/master.cf
out_domain1 unix - - n - - smtp -o smtp_bind_address=192.168.33.100 -o smtp_helo_name=domain1.tld
out_domain2 unix - - n - - smtp -o smtp_bind_address=192.168.33.110 -o smtp_helo_name=domain2.tld
out_domain3 unix - - n - - smtp -o smtp_bind_address=192.168.33.120 -o smtp_helo_name=domain3.tld
step3: 创建 transport_maps 文件
#vi /etc/postfix/transport_maps
domain1.tld out_domain1:
[email protected] out_domain2:
domain3.tld out_domain3:
step5: 使用postmap命令生成 .db文件
postmap /etc/postfix/transport_maps
默认会生成 /etc/postfix/transport_maps.db文件,这步一定不能少,而且每次更新transport_maps 文件,要重新执行生成新的.db文件