无法发送电子邮件,可能原因:您的主机禁用了mail()函数

avatar 2017年04月22日17:08:33 5 11080 views
博主分享免费Java教学视频,B站账号:Java刘哥 ,长期提供技术问题解决、项目定制:本站商品点此
首先配置smtp请参考此文,如果不能成功,再看下文

WordPress无法发送邮件的解决方法


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

1. 在网站的 /wp-Includes/ 目录下找到并打开 class-smtp.php 大概是 274-282 行的位置(不同版本WordPress可能行数不同),找到如下代码:


  1. $this->smtp_conn = @stream_socket_client(
  2. $host . ":" . $port,
  3. $errno,
  4. $errstr,
  5. $timeout,
  6. STREAM_CLIENT_CONNECT,
  7. $socket_context
  8. );

将此代码注释掉或者删除,然后修改为以下代码:
  1. $this->smtp_conn = fsockopen($host, $port, $errno, $errstr);

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


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

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



更多文章:http://liuyanzhao.com/662.html

本文地址:http://liuyanzhao.com/3269.html

转载请注明

  • 微信
  • 交流学习,资料分享
  • weinxin
  • 个人淘宝
  • 店铺名:言曌博客咨询部

  • (部分商品未及时上架淘宝)
avatar

发表评论

avatar 登录者:匿名
匿名评论,评论回复后会有邮件通知

  

已通过评论:1   待审核评论数:0
  1. avatar Oeasy

    你好 请问评论者的评论有回复后收不到邮件提醒怎么回事呀 其他比如找回密码和文章评论审核通知有邮件通知

    • avatar 言曌

      这个是因为你没有配置smtp,详情请参考这篇文章 http://liuyanzhao.com/662.html

      • avatar Oeasy

        老大威武 测试成功了 感谢分享 哈哈哈