【wordpress】配置SMTP发送邮件

服务器 ngxz 4年前 (2020-10-03) 1402次浏览 已收录 扫描二维码

问题来源:

之前的文章中,有小伙伴阅读后,留下了评论,但是我却没有及时在后台通过评论,所以没有显示出来。

于是放假在家在wordpress中配置评论发送邮件的功能,网上相关文章有不少,但是搜索引擎中靠前的大多是互相借鉴的,所以这里也做简要的记录。

WP中默认的发送邮件功能,不怎么好用,所以在WP后台找回密码的时候,常常会得到提醒“无法发送电子邮件,可能原因:您的主机禁用了mail()函数”。这可太让人懵逼了,其实原因是:WP自带的发邮件功能用到了PHP中mail函数,但是要使用他,需要在服务器中的PHP中配置sendmail和ssl,一般主机是没有安装他们的,所以无法使用。

解决办法:

1.能进入wordpress后台时

可以下载安装一个名字叫WP SMTP的插件,直接在后台的插件菜单里搜索可以安装到,装好启用后,有个配置界面如图:

【wordpress】配置SMTP发送邮件

参数说明如下:

发件人地址:要发送邮件的那个邮箱的地址,我这里是申请的网易yeah邮箱

发件人昵称:收到邮件后显示的发件人名字,我这里用的域名前半段

SMTP服务器地址:邮箱服务商的提供服务地址,qq邮箱是smtp.qq.com,163邮箱是smtp.163.com,规则大同小异,可以搜索一下

SMTP加密方式/端口:服务商一般支持SSL,端口为465

SMTP认证/认证用户名/认证密码:用户名即要发邮件的邮箱地址,认证密码在下边说明

先上图,这是登录邮箱后,点击设置->POP3/SMTP/IMAP菜单里边的界面(其他邮箱大同小异):

【wordpress】配置SMTP发送邮件

一般默认没有开启POP3/SMTP服务,点击开启,验证手机号后,在授权码管理这一栏,可以得到一个16位的全大写授权码,这就是上边那个认证密码

截图下方还有提示,服务器地址和安全支持,挺温馨的。

然后在插件里边保存。在WP的设置->讨论->勾选上“发送电子邮件通知我”,就能使用评论后自动发邮件功能了。

 

2.不能进入WP的后台,指忘记密码,找回密码也不能发邮件时。

这就需要能够连接自己的服务器,添加代码的方式来解决。

使用ssh工具连接服务器,切换到安装wordpress的目录,找到主题的目录,一般如下(twentyfifteen是主题名字,就是当前启用的主题的目录)

wordpress\wp-content\themes\twentyfifteen\

里边有一个functions.php文件,打开他,在最后边添加代码,如下:

【wordpress】配置SMTP发送邮件

里边备注对应每行的值,和1中相似,不再赘述,代码文本如下。

// 配置邮件
add_action(‘phpmailer_init’, ‘mail_smtp’);
function mail_smtp( $phpmailer ) {
$phpmailer->FromName = ‘yuanrb’; // 发件人昵称
$phpmailer->Host = ‘smtp.yeah.net’; // 邮箱SMTP服务器
$phpmailer->Port = 465; // SMTP端口,不需要改
$phpmailer->Username = ‘yuanrb@yeah.net’; // 邮箱账户
$phpmailer->Password = ‘***’; // 此处填写邮箱生成的授权码,不是邮箱登录密码
$phpmailer->From = ‘yuanrb@yeah.net’; // 邮箱账户同上
$phpmailer->SMTPAuth = true;
$phpmailer->SMTPSecure = ‘ssl’; // 端口25时 留空,465时 ssl,不需要改
$phpmailer->IsSMTP();
}

配置完成后,自己触发发送邮件来试一试,发件箱有记录,收件箱收到邮件,则无误,这个方法的邮件内容不能自定义,需要自定义则需要调整更多代码。

【wordpress】配置SMTP发送邮件


版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:【wordpress】配置SMTP发送邮件
喜欢 (5)