首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP的mail()函数在GoDaddy专用服务器上不起作用

PHP的mail()函数在GoDaddy专用服务器上不起作用
EN

Stack Overflow用户
提问于 2012-04-11 03:51:09
回答 4查看 24.1K关注 0票数 1

我有一个由GoDaddy托管在虚拟专用平台上的网站,但我无法在我的PHP脚本中让mail()函数正常工作。当人们第一次注册我的网站时,我正在尝试发送带有验证码的电子邮件给他们,mail()功能对Gmail地址很有效,但不适用于美国在线或甚至GoDaddy的电子邮件服务!

我试着与多个GoDaddy支持代表交谈,但他们在这个问题上没有真正的帮助。我在网上看了看,这似乎是在GoDaddy上托管网站的人的一个非常常见的问题。当我的电子邮件失败时,我不会收到退回的电子邮件,所以很难知道发生了什么。

下面是我的PHP代码:

代码语言:javascript
复制
$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);

当我检查以deferral: ./Maildir:_No_such_file_or_directory/结尾的/usr/local/psa/var/log/maillog (通过PuTTY SSH访问)时,我得到了一些错误

我还在我的主机账户上激活了反向域名系统,创建了一个通过"GoDaddy only“发送电子邮件的SPF域名系统记录,并选中了"Include PTR”框进行域名系统查找。这是在谷歌爸爸的DNS管理器的“区域文件编辑器”的"TXT (文本)“部分下。(希望这对您来说比对我更有意义)。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-04-11 03:55:57

我不确定如果GoDaddy支持PHP邮件,这通常是一个大问题的网站托管公司,因为它在脚本中使用发送垃圾邮件。

最好的办法是检查GoDaddy主机上有什么PEAR扩展,如果他们有PEAR邮件,你可以使用它。如果没有,那么您应该尝试使用身份验证的邮件发送。

如果你需要,我可以给你一个PEAR和认证邮件的例子。

票数 3
EN

Stack Overflow用户

发布于 2014-03-13 02:22:00

这是一个老帖子,但我认为我应该添加我的经验,以防他们帮助其他人。

我在mail()上遇到了非常类似的问题,我打电话给GoDaddy的技术服务部门。我打了两个小时的电话,大约30次对mail()的测试调用(他们甚至上传了自己的'testmail‘脚本),我没有收到一封成功的电子邮件(尽管mail()返回值为1,即成功)。最后的结果是,他告诉我,电子邮件服务器中继“排队”。两个小时后,一个技术支持人员和他的"sys管理员“在...still上遇到了同样的问题。

解决方案是使用php库邮件,而不是普通的老式swiftmailer ()函数。使用swiftmailer立即发送电子邮件。希望这对其他人有帮助!

不用说,我已经更换了主机提供商!

票数 5
EN

Stack Overflow用户

发布于 2012-04-11 05:04:52

你需要为GoDadday使用PHP mail()的默认变量,我不知道,但当我使用你的代码片段时,它对我也不起作用,但通过使用标准变量,我得到了邮件;是的,不要使用专用电子邮件地址的变量,像我一样放入mail()函数,

试试看,希望也会为你工作;

代码语言:javascript
复制
$subject = "Please validate your email";
$message   = "Validation info, blah blah. 2nd msg";
$Header = 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$Header .= 'From: Lux <info@luxstyles.com >' . "\r\n";

if(mail('info@luxstyles.com', $subject, $message, $Header))

echo "email sent";

else 

echo "email sending fail";
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10095456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档