我正在尝试配置我的 postfix (2.9.6) 邮件服务器,使其首先尝试直接将邮件发送给收件人 MX,然后如果收到 5xx 状态代码,则返回通过我的 ISP 邮件服务器进行中继。我的邮件服务器位于家庭宽带连接的一端,因此违反了 spamhaus 过滤。我知道我可以通过我的 ISP 服务器中继所有内容,但除非绝对必要,否则我宁愿不这样做。可以说我偏执狂。
我希望 main.cf 中的类似内容可以完成这项工作(端口 11125 是我 ISP 邮件中继的通道,如果我将其设置为中继主机,它就可以工作)
relayhost =
smtp_skip_5xx_greeting = yes
smtp_fallback_relay = [127.0.0.1]:11125
但这只是反弹,例如
Nov 19 12:46:15 mail-server postfix/smtp[14459]: E9275744: to=<[email protected]>, relay=mx2.hotmail.com[65.55.92.136]:25, delay=1.3, delays=0.04/0.01/0.46/0.81, dsn=5.0.0, status=bounced (host mx2.hotmail.com[65.55.92.136] said: 550 OU-002 (SNT0-MC1-F51) Unfortunately, messages from xx.xx.xx.xx weren't sent. Please contact your Internet service provider since part of their network is on our block list. You can also refer your provider to http://mail.live.com/mail/troubleshooting.aspx#errors. (in reply to end of DATA command))
那么,当遇到这样的消息时,Postfix 是否可以尝试通过后备中继进行传递?
答案1
配置中没有这样的选项。您可能会通过脚本进行管道反弹,将目标域添加到传输表并重新发送电子邮件,从而发挥创意。但我建议您从托管提供商处获取服务器,该提供商的垃圾邮件感染程度不足以被添加到黑名单中,或者直接使用您的 ISP 的服务器。