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

首先配置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');

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

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

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