现在的位置: 首页 -> PHP学习 -> linux空间使用smtp类无法发送邮件解决方法

linux空间使用smtp类无法发送邮件解决方法

2013-12-05 20:28评论数 2 ⁄ 被浏览 24893 views+

偶然发现我网站后台自动发送邮件功能不能用了,报这个错误:


Trying to smtp.126.com:25 Error: Cannot connenct to relay host smtp.126.com Error: () Error: Cannot send email to web@daixiaorui.com state


大概意思是:无法connenct中继主机smtp.126.com 错误:()错误:无法发送电子邮件给web@daixiaorui.com


我很好奇,网站一直没动啊。为了排除问题,把最近备份的恢复一些关键的文件后还是不能成功发送邮件。然后我把smtp类和与发送邮件相关的核心文件、代码弄到本地运行了一下,非常成功。现在我开始怀疑这肯定就是linux空间配置的问题了,上次月新换了一个linux的空间,估计问题就出在这里。(PS:有兴趣的,可以看看 php利用smtp类轻松的发送电子邮件 )


上网找了n多资料后终于找到了解决方案,不是smtp类的问题,而就是linux配置的问题。原来是服务器的php.ini 禁用了fsockopen函数。


打开空间下的php.ini文件,linux空间一般都可以自定义php.ini,所以根目录下面一般会有这个文件。


有两个地方可能禁用此函数:

1. allow_url_fopen = On 查看等于后面是否为 ON,如果为OFF时函数将被禁用

2. disable_functions = fsockopen pfsockopen (我的就是这样)这里应该去掉前面的“fsockopen”。使之变成:disable_functions = pfsockopen


改过之后,保存,再重新刷新页面,就发现在linux下能成功利用smtp类发送电子邮件了。感谢网友分享的方法,问题终于得到了解决。

 

文章出自:https://www.daixiaorui.com/read/62.html 本站所有文章,除注明出处外皆为原创,转载请注明本文地址,版权所有。

目前有 2 条评论  @我要评论

  1. 2楼 : 2018-05-04 11:20:39 评论说: @回复

    没用

  2. 1楼雪剑无影 : 2017-10-14 16:18:35 评论说: @回复

    我是使用的 本站的smtp类发送邮件 放在liunx 上报:Cannot connenct to relay host smtp.139.com 上面的方法试过了,请问怎么还是发送不了邮件,帮忙解答一下,非常感谢!

您的每一个评论都是对我的一份支持

 博客二维码

昵称 *

邮箱 *