Parallels Plesk 12.0.18 - 在启用spf时无法使用php发送邮件

时间:2014-08-08 10:16:37

标签: php email plesk spf spam-prevention

我最近将我的Parallels Plesk Panel从版本11升级到在CentOS上运行的12.0.18。我注意到我不能再使用php函数发送邮件" mail"启用S​​PF-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上,一切都运行得很好。 我已经搜索过一个解决方案,但没有发现任何有用的东西。

现在我的问题是:如何让它再次发挥作用?

1 个答案:

答案 0 :(得分:0)

在DNS设置中检查您从i.ex发送的域的SPF记录: xxx.xx TXT v = spf1 + a + mx -all + a:your_host_name

这意味着:

  • 允许所有a-record的记录在此下发送邮件 域名
  • 允许所有mx-records的ips在此域名下发送邮件
  • 允许通过主机名发送的域名在此域名下发送邮件

至少如果我没记错的话,你可以在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=