问题的简短版本:
在 PHP 中使用 mail() 发送邮件时,如何将 Sender: 标头设置为 webmaster@ourdomain.com?
(那是 Sender: 标头,而不是 From: 标头)
长版:
我们的服务器发送的邮件被错误地识别为垃圾邮件存在问题。普通邮件(来自邮件客户端)没有这个问题(DKIM/SPF 都可以)。
普通邮件和服务器发送邮件的最大区别在于“发件人:”标头。从邮件客户端发送邮件时一切正常:
From: name@ourdomain.com
X-Sender: name@ourdomain.com
通过 PHP 发送的邮件的标题如下:
From: name@ourdomain.com
Sender: admin@vps1949.ourvpsprovider.com
第二个邮件地址确实存在,但我绝对不希望我们的管理员邮件地址在那里。管理员地址使一些邮件服务器认为它是垃圾邮件——它绝对不是。(它被视为垃圾邮件,因为尽管我们在 vps1949.ourvpsprovider.com 的 DNS 中有 MX 记录和 SPF 记录,但邮件服务器不知何故无法识别这些记录。我只是对 DNS 有中等经验,不足以理解为什么会这样。)
ourdomain.com 和 vps1949.ourvpsprovider.com 当然指向同一个 IP。
那么,在 PHP 中使用 mail() 发送邮件时,如何将 Sender: 标头设置为 webmaster@ourdomain.com?那将为我们解决它。
(那是 Sender: 标头,而不是 From: 标头)
这将解决我们所有的问题。
谷歌没有运气,我搜索了几个小时并尝试了几件事无济于事。(例如, sendmail 上的 -f 标志不是解决方案。)
因为我们有一个 VPS,我有完全的服务器访问权限,所以如果需要,可以更改或添加一个 ini 文件。(我找不到 sendmail.ini。)
任何人都可以帮忙吗?