我有一个由 GoDaddy 在虚拟专用平台上托管的网站,但我无法让该mail()
功能在我的 PHP 脚本中正常工作。我正在尝试在人们首次注册我的网站时向他们发送带有验证码的电子邮件,该mail()
功能适用于 Gmail 地址,但不适用于 AOL 甚至 GoDaddy 的电子邮件服务等其他人!
我尝试与多个 GoDaddy 支持代表交谈,但他们在这个问题上并没有真正的帮助。我在网上环顾四周,这似乎是在 GoDaddy 上托管网站的人的一个非常常见的问题。当我的电子邮件失败时,我不会收到退回的电子邮件,所以很难知道发生了什么。
这是我的PHP代码:
$sendtoemail = 'newsignup@aol.com';
$emailsubject = "Please validate your email";
$emailbody = "Validation info, blah blah.";
$emailheader = 'From: admin@example.com' . "\r\n" .
'X-Mailer: PHP' . "\r\n" .
'Reply-To: admin@example.com' . "\r\n" .
'-fadmin@example.com';
mail($sendtoemail, $emailsubject, $emailbody, $emailheader);
当我检查/usr/local/psa/var/log/maillog
(通过 PuTTY SSH 访问)时,我遇到了一些错误,这些错误都以:deferral: ./Maildir:_No_such_file_or_directory/
我还在我的主机帐户上激活了反向 DNS,并创建了一个 SPF DNS 记录,该记录通过“仅 GoDaddy”发送电子邮件,并选中了“包括 PTR”框以进行 DNS 查找。这是在 GoDaddy 的 DNS 管理器上“区域文件编辑器”的“TXT(文本)”部分下。(希望这对你比对我更有意义)。