前几天创建了几个wordpress项目,有些项目中用到了用户注册,但是在实际操作中发现,用户注册无法接收到认证链接,在查找了相关资料后大多归类为几个原因:
- 服务器本身不支持mail()函数
- 未配置相关的邮件信息
- 服务器对相关接口保护
服务器不支持mail参数
开启 sendmail 服务,相关操作:https://wenku.baidu.com/view/4a319b9fde80d4d8d15a4ffb.html
配置相关的邮件信息:
就是修改如下 2个文件:
第一个 :
将 /wp-includes/pluggable.php 这个文件的
$phpmailer->IsMail();
修改为
$phpmailer->IsSMTP();
就是说不使用 Mail 函数,换为 SMTP 方式。
第二个:
修改/wp-includes/class-phpmailer.php 这个文件里的
SMTP参数(SMTP VARIABLES)var $From = ‘xingfublogadmin@163.com’;var $FromName = ‘xingfublogadmin’;var $Host = “SMTP.xxx.com”; //你的SMTP服务器。var $SMTPAuth = True;var $Username = “youname@xxx.com; // 用户名var $Password = “*********” // 密码
以上是最基本的信息配置 还要根据相关的邮件服务设置对应端口,协议等,总之走通是比较麻烦的所以说放弃这个做法
服务器相关端口:
默认的端口是25端口,所有的信息都填写正确后发现阿里云的25使用是需要申请的,当然申请步骤是十分简单的,登陆后按照官方指定的顺序申请就可以了
现在说下插件的使用:
这个是相对于上面的两个方法比较简单直观的方法,最大的好处是便于维护相关的数据变动
我使用的是wp SMTP 这个插件
0下载插件
1上传插件到wp-conent/plugins
2在插件中启用
3在设置中设置相关信息即可(对应的图标都有详细的参数介绍)