WordPress网站中出现 ”没法发送电子邮件,可能缘由:您的主机禁用了mail()函数“的状况通常都是由于所在主机环境不支持在线邮件收发功能致使,若是不支持的话,那么像相似 Newsletter、Contact Form 7 等须要用到邮件收发功能的插件就将没法使用。不过,对于这种问题,绝大多数的主机或服务器仍是能够解决的,若是如下方法都尝试后仍是没法解决邮件收发功能,那么就只能联系你的空间服务商来解决了。php
2. 进入到 找回密码 页面,在 用户名或电子邮件地址 表单中输入你的用户注册邮箱或用户名,点击 找回密码 按钮,以下图所示:html
3. 若是出现下图中的“请在您的电子邮箱中检查确认连接。”提示,说明主机支持邮件收发功能。web
若是出现下图中的“电子邮件未能发送,可能缘由:您的主机禁用了mail()函数。”提示,说明主机不支持邮件收发功能。服务器
对应普通虚拟主机来讲,要开启 fsockopen(通常是在主机商提供的管理后台中能够开启,不会的请联系主机商客服) 。socket
1. 在网站的 /wp-Includes/ 目录下找到并打开 class-smtp.php 大概是 274-282 行的位置(不一样版本WordPress可能行数不一样),找到以下代码: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);
this
修改后,若是仍是没法发送邮件,在上面步骤完成的状况下继续添加以下代码:加密
/**
* 修复 WordPress 邮件发送”
* 以QQ邮箱为例**/
function mail_smtp( $phpmailer ){
$phpmailer->From = "service@0513c.com"; //发件人
$phpmailer->FromName = "技术宅"; //发件人昵称
$phpmailer->Host = "smtp.qq.com"; //SMTP服务器地址
$phpmailer->Port = 25; //SMTP端口,经常使用的有2五、46五、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');
执行以上操做后您网站的邮件收发功能应该就能够实现了。若是仍是无法解决,这可能就是只修改代码没法解决了,请联系主机商解决处理吧。
原文:http://www.wpyou.com/wordpress-unable-to-send-e-mail-solution.html