php邮件()去垃圾邮件,但当通过SMTP服务器发送它的工作很好



我目前正在设置我的web服务器,这样我就可以通过PHP代码发送电子邮件,我遇到的问题是,通过PHP邮件()发送的电子邮件总是发送到我的gmail垃圾邮件,因为当我通过SMTP服务器发送电子邮件时,相同的VPS有在gmail上它不发送到垃圾邮件。

有谁能帮忙吗?

更新:

通过Ryan@Ryanteck.org.uk &Noreply@Mc-Serverlist.co.uk For PHP Mail()(与ryan@ryanteck.org.uk相同)

当通过PHP邮件()或Webmin邮件发送时,它发送到垃圾邮件

当通过SMTP服务器发送时,通过Gmail发送ok

PHP邮件:http://pastebin.com/TP2UfDP7(这是Noreply@Mc-Serverlist.co.uk)

Webmin电子邮件系统:http://pastebin.com/2VWvDd7v

Gmail SMTP:http://pastebin.com/wgewGnmk

您的vps没有配置rDNS, HELO指向不同的ip。HELO不一致和缺少rDNS会触发许多垃圾邮件过滤器。

收到:from ryanteck.org.uk ([95.154.250.75])

主机75.250.154.95.in-addr.arpa。not found: 3(NXDOMAIN)

ryanteck.org.uk的地址为95.154.250.165

设置HELO主机名,其a - record指向VPS,并将rDNS (PTR)配置为相同的主机名。

的例子:

  • 创建新a - record ' vs.ryanteck.org.uk 95.154.250.75'
  • 设置HELO为' vs.ryanteck.org.uk '
  • 设置75.250.154.95的反向DNS (PTR)为vs.ryanteck.org.uk

而且你的发送域有一些奇怪的"TXT"记录:

dig txt mc-serverlist.co.uk +short 
"95.154.250.165"
dig txt ryanteck.org.uk +short
"95.154.250.165"

您可能需要将这些更改为正确格式的SPF记录,例如

v=spf1 ip4:95.154.250.165 ip4:95.154.250.75 ~all

试试这个:

mail('my@gmail.com', 'my subject', 'my text', 'From: noreply@myweb.com', '-f noreply@myweb.com');

设置-f noreply@myweb.com参数,如PHP ref

所示

例如,当使用-f sendmail选项使用sendmail时,这可以用来设置信封发件人地址。

当使用此方法设置信封发件人(-f)时,应该将web服务器运行的用户添加为sendmail配置的可信用户,以防止在消息中添加'X-Warning'标头。对于sendmail用户,这个文件是/etc/mail/trusted-users。

最新更新