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

avatar 2017年4月22日17:08:33 4 1,579 views

首先配置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
  • 博客/Java交流群
  • 资源分享,问题解决,技术交流。群号:590480292
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:4   其中:访客  2   博主  2

    • avatar Oeasy 1

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

        • avatar 言曌 Admin

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

            • avatar Oeasy 1

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