我目前正在设置我的网络服务器,所以我可以通过PHP代码发送电子邮件,我的问题是通过php mail()发送的电子邮件总是发送到我的gmail垃圾邮件,当我通过SMTP服务器发送电子邮件时同样的VPS在Gmail上没有发送垃圾邮件。
他们的任何人都能帮忙吗?
发送电子邮件:Ryan@Ryanteck.org.uk& Noreply@Mc-Serverlist.co.uk用于PHP Mail()(与ryan@ryanteck.org.uk相同)
通过PHP邮件发送时()或Webmin电子邮件发送垃圾邮件
通过SMTP服务器发送时通过Gmail发送确定
PHP邮件原始邮件: http://pastebin.com/TP2UfDP7(这是Noreply@Mc-Serverlist.co.uk)
Webmin电子邮件系统: http://pastebin.com/2VWvDd7v
Gmail SMTP: http://pastebin.com/wgewGnmk
答案 0 :(得分:2)
您的vps没有配置rDNS,并且HELO指向不同的IP。 HELO中的不一致和丢失的rDNS会触发许多垃圾邮件过滤器。
收到:来自ryanteck.org.uk([95.154.250.75])
主持人75.250.154.95.in-addr.arpa。未找到:3(NXDOMAIN)
ryanteck.org.uk的地址为95.154.250.165
设置一个HELO主机名,其A-Record指向您的VPS,并将rDNS(PTR)配置为相同的主机名。
示例:
此外,您的发件人域名也有一些奇怪的“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
答案 1 :(得分:1)
试试这个:
mail('my@gmail.com', 'my subject', 'my text', 'From: noreply@myweb.com', '-f noreply@myweb.com');
答案 2 :(得分:1)
设置-f noreply@myweb.com
参数,如PHP ref
例如,当使用带有-f sendmail选项的sendmail时,可以使用此选项设置信封发件人地址。
Web服务器运行的用户应作为受信任用户添加到sendmail配置中,以防止在使用此方法设置信封发件人(-f)时将“X-Warning”标头添加到邮件中。对于sendmail用户,此文件是/ etc / mail / trusted-users。