WordPress博客发送邮件失败提示:电子邮件未发送 主机禁用了mail()函数。这是wordpress经常会遇到的问题,有两种解决办法,一是在模板functions.php里面添加代码;二是添加WP Mail SMTP插件。从难易程度上说,还是添加插件更容易操作。魏艾斯博客就把这两种方法分别说一下,分享出来供大家使用。
网络上这类教程很多,解决办法也都一样,无非手动和插件两种办法。
一、WP Mail SMTP插件
1、在wordpress后台插件中搜索WP Mail SMTP,安装并启用。最新更新日期是4周前,看来更新很频繁。
2、老魏这里启用后是英文版,大概解释一下这些空格怎么填写。
from mail填写发件邮箱地址,这里我用qq邮箱做示范;
from name是发件人名字,可以写英文名或网站名,用来区分收件人邮箱里的不同邮件。
mailer 这里选择other smtp,因为老魏这里用的是qq邮箱。
3、去QQ邮箱中生成 QQ 邮箱授权码,在 QQ 邮箱的设置里面操作,生成授权码并记录保存留用。如果你用别的邮箱不会这么复杂。
4、回来接着设置 WP Mail SMTP,SMTP host 填 smtp.qq.com,Encryption 选择 SSL , SMTP Port 是 465,Auto TLS 是 on 状态,Authentication 是 on 状态,SMTP Username 就是收件邮箱地址,和上面的一样,重点说一下 SMTP Password,这里是 QQ 邮箱授权码,不是 QQ 邮箱密码,不要搞错了,填邮箱密码是不会成功的。
提示:阿里云和腾讯云默认屏蔽25端口,所以这里不使用常用的25端口。如果你非要使用25端口,要去和主机商家确认是否默认屏蔽,也可以申请解封使用。
5、在 wp mail SMTP 里面发一封邮件测试一下,看能否正常收到。
二、在functions.php里添加如下代码
function mail_smtp( $phpmailer ){
$phpmailer->From = “[email protected]”; //发件人邮箱
$phpmailer->FromName = “魏艾斯博客”; //发件人昵称
$phpmailer->Host = “smtp.qq.com”; //SMTP服务器地址
$phpmailer->Port = 465; //SMTP端口,常用端口有25、465、587
$phpmailer->SMTPSecure = “SSL”; //SMTP加密方式,常用的有SSL/TLS
$phpmailer->Username = “[email protected]”; //邮箱帐号
$phpmailer->Password = ‘163邮箱密码’; //邮箱密码。如果上面是qq邮箱这里就是QQ邮箱授权码。
$phpmailer->IsSMTP(); //使用SMTP发送
$phpmailer->SMTPAuth = true; //启用SMTPAuth服务
}
add_action(‘phpmailer_init’,’mail_smtp’);
这样可以手动解决问题。其实添加代码和安装插件是一样的,同样耗费系统资源。因为每个主机商情况不同,有时候添加代码不一定好用,而安装插件成功率是很高的,老魏推荐使用插件的方法解决这个问题。
要注意的是如果你和老魏一样使用qq邮箱,那么邮箱密码那里用的是qq邮箱授权码,获取方法在第一条中有提到。其他邮箱输入邮箱密码就可以了,这是需要注意的部分。
未经允许不得转载:杂烩网 » WordPress电子邮件未发送 主机禁用了mail()函数的解决办法