频道栏目
首页 > 程序开发 > 综合编程 > 其他综合 > 正文
无法发送电子邮件,可能原因:您的主机禁用了mail()函数
2017-05-11 09:24:00         来源:扶摇万仞  
收藏   我要投稿

无法发送电子邮件,可能原因:您的主机禁用了mail()函数。首先配置smtp请参考此文,如果不能成功,再看下文
WordPress无法发送邮件的解决方法

对应普通虚拟主机来说,要开启 fsockopen(一般是在主机商提供的管理后台中可以开启,不会的请联系主机商客服) 。

在网站的 /wp-Includes/ 目录下找到并打开 class-smtp.php 大概是 274-282 行的位置(不同版本WordPress可能行数不同),找到如下代码:
 $this->smtp_conn = @stream_socket_client(
    $host . ":" . $port,
    $errno,
    $errstr,
    $timeout,
    STREAM_CLIENT_CONNECT,
    $socket_context
    );

将此代码注释掉或者删除,然后修改为以下代码:

  $this->smtp_conn = fsockopen($host, $port, $errno, $errstr);

修改后,如果还是无法发送邮件,在上面步骤完成的情况下继续添加如下代码:

   /**
    * 修复 WordPress 邮件发送”
    * 以QQ邮箱为例**/
    function mail_smtp( $phpmailer ){
    $phpmailer->From = "service@0513c.com"; //发件人
    $phpmailer->FromName = "技术宅"; //发件人昵称
    $phpmailer->Host = "smtp.qq.com"; //SMTP服务器地址
    $phpmailer->Port = 25; //SMTP端口,常用的有25、465、587,具体谷歌百度
    $phpmailer->SMTPSecure = ""; //SMTP加密方式,常用的有SSL/TLS,具体谷歌百度
    $phpmailer->Username = "wpyou@qq.com"; //邮箱帐号
    $phpmailer->Password = *********; //邮箱密码
    $phpmailer->IsSMTP(); //使用SMTP发送
    $phpmailer->SMTPAuth = true; //启用SMTPAuth服务
    }
    add_action('phpmailer_init','mail_smtp');

执行以上操作后您网站的邮件收发功能应该就可以实现了。如果还是没法解决,这可能就是只修改代码无法解决了,请联系主机商解决处理吧。

点击复制链接 与好友分享!回本站首页
上一篇:eclipse 配置tomcat8 报错:The Apache Tomcat installation at this directory is version 8.5.14. A Tomcat 8
下一篇:4.5版本eclipse安装activiti插件
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站