我有一个由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);
Run Code Online (Sandbox Code Playgroud)
当我检查/usr/local/psa/var/log/maillog(通过PuTTY SSH访问)时,我遇到了一些错误:deferral: ./Maildir:_No_such_file_or_directory/
我还在我的主机帐户上激活了反向DNS并创建了一个SPF DNS记录,该记录通过"仅限GoDaddy"发送电子邮件并选中"包含PTR"框以进行DNS查找.这是在GoDaddy的DNS管理器的"区域文件编辑器"的"TXT(文本)"部分下.(希望这对你来说比对我更有意义).