我最近将我的Parallels Plesk Panel从版本11升级到在CentOS上运行的12.0.18。我注意到我不能再使用php函数发送邮件" mail"启用SPF-Spamprotection时。我使用postfix作为邮件服务器,邮件总是被拒绝因为错误的helo(localhost)。
这就是日志所说的内容:
spf filter[2532]: Starting spf filter...
spf filter[2532]: Wrong HELO hostname: localhost
/usr/lib64/plesk-9.0/psa-pc-remote[2465]: handlers_stderr: REJECT
/usr/lib64/plesk-9.0/psa-pc-remote[2465]: REJECT during call 'spf' handler
postfix/cleanup[2515]: 4E4D620AE2: milter-reject: END-OF-MESSAGE from localhost[127.0.0.1]: 5.7.1 Command rejected; from=<> to=<xxx@xx.xx>
postfix/cleanup[2515]: 4E4D620AE2: to=<xxx@xx.xx>, relay=none, delay=0.08, delays=0.08/0/0/0, dsn=5.7.1, status=bounced (Command rejected)
关闭SPF保护工作和邮件已发送,但这不是我想要的。在以前版本的Plesk上,一切都运行得很好。 我已经搜索过一个解决方案,但没有发现任何有用的东西。
现在我的问题是:如何让它再次发挥作用?
答案 0 :(得分:0)
在DNS设置中检查您从i.ex发送的域的SPF记录: xxx.xx TXT v = spf1 + a + mx -all + a:your_host_name
这意味着:
至少如果我没记错的话,你可以在php.ini
中更改php邮件功能的HELO域名来自php文档(http://php.net/manual/en/ref.mail.php):
; sendmail will use your hostname and your default_domain in the ehlo/helo
; smtp greeting. you can manually set the ehlo/helo name if required
hostname=