技术知识分享

WordPress电子邮件未发送 主机禁用了mail()报错的解决办法

搬瓦工优惠码

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端口,请使用SSL的端口。

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 = ‘邮箱密码’; //邮箱密码。如果上面是qq邮箱这里就是QQ邮箱授权码。
$phpmailer->IsSMTP(); //使用SMTP发送
$phpmailer->SMTPAuth = true; //启用SMTPAuth服务
}
add_action(‘phpmailer_init’,’mail_smtp’);

这样可以手动解决问题。其实添加代码和安装插件是一样的,同样耗费系统资源。因为每个主机商情况不同,有时候添加代码不一定好用,而安装插件成功率是很高。

未经允许不得转载:pc6a学习分享 » WordPress电子邮件未发送 主机禁用了mail()报错的解决办法
阿里云轻量应用服务器

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址