非插件纯代码方式实现WordPress SMTP邮件功能

技术文档 2023年5月14日

在使用Contact Form 7等插件时,会用到SMTP邮件功能,SMTP邮件功能在WordPress中是很常用的功能,少了SMTP邮件功能,网站的功能就会受到很大的限制。

WordPress程序本身自带了mail函数,但是使用自带mail函数发送邮件很容易失败而且常常被拒收。

使用云主机mail函数几乎都是可以用的,但是如果使用的是虚拟主机mail函数几乎都是被禁止了的。使用了虚拟主机,但又想使用SMTP邮件功能发送邮件。WordPress官方插件中心给提供了很多的插件,比如,Easy WP SMTP是使用比较广泛的一个插件。插件配置也非常简单。

但是,更简单的方法是通过非插件的方式,以存代码的方式就可以实现。

具体方法是把下面这段代码放到functions.php文件,再测试发送邮件功能,你会发现你的的网站已经有了邮件的功能了。

//WodePress非插件纯代码方式实现SMTP邮件
function mail_smtp( $phpmailer ) {
$phpmailer->FromName = 'wodepress'; //发件人名称
$phpmailer->Host = 'smtp.qq.com'; //修改为你使用的邮箱SMTP服务器
$phpmailer->Port = 465; //SMTP端口
$phpmailer->Username = 'wodepress@qq.com'; //邮箱账户
$phpmailer->Password = '12345'; //邮箱授权码(在QQ邮箱设置里找,能找到相应的授权码)
$phpmailer->From = 'wodepress@qq.com'; //邮箱账户
$phpmailer->SMTPAuth = true;
$phpmailer->SMTPSecure = 'ssl'; //tls or ssl (port=25时->留空,465时->ssl)
$phpmailer->IsSMTP();
}
add_action('phpmailer_init', 'mail_smtp');

登陆QQ邮箱找到

设置 – 帐户

再找

POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务

然后按上面的说明,进行相应的操作即可。

相关文章