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

WordPress网站中出现 ”无法发送电子邮件,可能原因:您的主机禁用了mail()函数“的情况一般都是因为所在主机环境不支持在线邮件收发功能导致,如果不支持的话,那么像类似 Newsletter、Contact Form 7 等需要用到邮件收发功能的插件就将无法使用。不过,对于这种问题,绝大多数的主机或服务器还是可以解决的,如果以下方法都尝试后还是无法解决邮件收发功能,那么就只能联系你的空间服务商来解决了。

检查空间是否支持 邮件收发 功能的方法

  1. 1. 非登录状态,访问网站后台登录界面(默认为www.youwebsite.com/wp-login.php),点击表单下方的 找回密码 链接,如下图所示:

2. 进入到 找回密码 页面,在 用户名或电子邮件地址 表单中输入你的用户注册邮箱或用户名,点击 找回密码 按钮,如下图所示:

3. 如果出现下图中的“请在您的电子邮箱中检查确认链接。”提示,说明主机支持邮件收发功能。

如果出现下图中的“电子邮件未能发送,可能原因:您的主机禁用了mail()函数。”提示,说明主机不支持邮件收发功能。

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

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

1. 在网站的 /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 = "[email protected]"; //发件人
$phpmailer->FromName = "技术宅"; //发件人昵称
$phpmailer->Host = "smtp.qq.com"; //SMTP服务器地址
$phpmailer->Port = 25; //SMTP端口,常用的有25、465、587,具体谷歌百度
$phpmailer->SMTPSecure = ""; //SMTP加密方式,常用的有SSL/TLS,具体谷歌百度
$phpmailer->Username = "[email protected]"; //邮箱帐号
$phpmailer->Password = *********; //邮箱密码
$phpmailer->IsSMTP(); //使用SMTP发送
$phpmailer->SMTPAuth = true; //启用SMTPAuth服务
}
add_action(‘phpmailer_init‘,‘mail_smtp‘);

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

原文:http://www.wpyou.com/wordpress-unable-to-send-e-mail-solution.html

时间: 2024-10-26 01:28:26

WordPress ”无法发送电子邮件,可能原因:您的主机禁用了mail()函数“的解决办法的相关文章

Java链接Redis时出现 “ERR Client sent AUTH, but no password is set” 异常的原因及解决办法

[错误提示] redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the poolat redis.clients.util.Pool.getResource(Pool.java:53)at redis.clients.jedis.JedisPool.getResource(JedisPool.java:226)at cn.hncu.RedisPool.getJedis(Re

java.lang.IllegalStateException异常产生的原因及解决办法

错误原因:该异常表示,当前对客户端的响应已经结束,不能在响应已经结束(或说消亡)后再向客户端(实际上是缓冲区)输出任何内容. 具体分析: 首先解释下flush(),我们知道在使用读写流的时候数据先被读入内存这个缓冲区中, 然后再写入文件,但是当数据读完时不代表数据已经写入文件完毕,因为可能还有一部分仍未写入文件而留在内存中,这时调用flush()方法就会把缓冲区的数据强行清空输出,因此flush()的作用就是保证缓存清空输出.response是服务端对客户端请求的一个响应,其中封装了响应头.状态

关于因各种原因,造成LINUX主机不能通过域名访问自己的解决办法

因路由黑洞或其它原因造成自己域名或外网IP的解决办法: vi /etc/hosts 添加一行: 10.28.86.250 www.edusoa.com 保存退出.

关于wordpress后台首页加载ajax.googleapis特别慢的解决办法

通过审查元素发现,拖慢后台加载速度的主要是两个路径 1.https://ajax.googleapis.com/ajax/libs/prototype/1.7.1.0/prototype.js 2.http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.21/themes/smoothness/jquery-ui.css 都是谷歌的,现在国内访问谷歌几乎是访问不了,必须要FQ才可以,下面是解决这两东西的办法 第一种: 通过wordpress后台安装 ‘

windows服务定时发送电子邮件

1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Diagnostics; 6 using System.Linq; 7 using System.ServiceProcess; 8 using System.Text; 9 using System.Threading.Tasks; 10 using Syst

发送电子邮件

思路与技术要运行本实例首先应该构建JavaMail的开发环境,在JDK中配置JavaMail的相关类和包.在构建JavaMail开发环境中,需要mail.jar和activation.jar这两个文件.这两个文件的获得可以通过SUN公司的官方网站下载. 代码如下; <html><head><title>发送电子邮件</title><meta http-equiv="Content-Type" content="text/h

C#发送电子邮件 (异步) z

///验证电子邮件的正则表达式 string emailStr = @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"; /// <summary> /// 异步发送电子邮件 /// </summary> /// <param name="fromEmail">发送方电子邮件&

JAVA实现发送电子邮件

相信大家对于网站也好,手机app也好,用户注册时,需要进行邮箱验证的功能特别好奇吧,本篇我将带领大家一起实现一下这个简单而又神奇的小功能,让我们的应用也可以加入这些神奇的元素.废话不多说,下面开始我们今天的内容介绍. 首先实现上面的功能,需要一个固定的发送电子邮件的邮箱地址,这里我们就以我们经常使用的QQ邮箱为例实现一下这个功能. 第一件事,你需要开启QQ邮箱的IMAP/SMAP服务: 登录QQ邮箱-->设置-->账号-->开启IMAP/SMAP与P0P3/SMAP 开启这两个时,你会获

javamail模拟邮箱功能发送电子邮件-中级实战篇【新增附件发送方法】(javamail API电子邮件实例)

引言: 此篇是紧随上篇文章而封装出来的,阅读本篇章建议先阅读上一篇  --> javamail模拟邮箱功能发送电子邮件-基础实战篇 上一篇章简单讲解了javamail发送邮件的基本基础和用到的几个类,并且所有初始化和发送方法都封装在一个类里面(为了代码方便演示),本章节将对各个模块进行拆分和优化,并且引入附件发送的方法 要想邮件发送附件,就要引入两个新类  Multipart 和 BodyPart 两类 Multipart(报文部件容器) 实则为一个报文容器,而邮件消息  Msage 是由各个子