前段时间,我网站开放wordpress用户注册,测试了一下,居然出现这种情况:我注册成功了,wordpress数据库里有了新用户信息,后台用户列表中也有了新添加的用户,但是,注册的邮箱没有获取到我网站发送的注册成功的信息。
后经多方查询,有的说要修改wordpress程序/wp-include/class-smtp.php文件的源代码,有的说只需要安装一个Easy WP SMTP插件并配置一下就可以解决。但是,我测试了一下,代码改过,插件也安装过,问题依然没有解决,这说明,并不是wordpress程序本身的问题。
不是wordpress本身的问题,那就有可能是邮箱的问题。会不会是邮箱没有开启SMTP功能。进注册邮箱一查,还真是邮箱没有开启这个SMTP功能。下面把wordpress开放注册的整个流量演示一下。
第一步:wordpress网站后台开放注册功能。
进入后台 => 设置 => 常规 => 勾选 任何人都可以注册 ,如下图:
第二步:开通wordpress网站管理员的邮箱的SMTP功能
wordpress网站管理员邮箱,也就是当初创建wordpress网站时注册的邮箱。我这里用的是QQ邮箱,所以下面以QQ邮箱为例。
进入你的QQ邮箱(如果是其它邮箱也类似),点击 设置 => 帐户 => POP3/SMTP服务 => 开启,如下图:
如上图,然后,向下拉,找到POP3/IMAP/SMTP这里,点击“开启”按钮,如下图:
点击开启后,会再弹出一个手机验证,如下图:
用手机发送上面的短信后,页面会弹出如下图:
这里是QQ邮箱给我们的SMTP授权码,记下这个授权码,这个在下面的wp-mail-smtp插件设置中会用到这个授权码,好像只有QQ邮箱是用授权码,其它邮箱是用密码,这点我没有验证过。
第三步:安装wp-mail-smtp插件:
安装wp-mail-smtp 或 easy wp smtp 插件都可以,2个插件的设置都差不多。如何安装插件这里就不多说了。
下面来看看wp-mail-smtp插件的设置:
上图中标红的地方都要填写,QQ邮箱的端口是 25,邮箱填写的是管理员邮箱,密码的地方填写的是QQ邮箱的授权码。
这样,我们就开启了邮箱的SMTP功能。到这里,wordpress注册用户注册成功后,管理员邮箱就会发送一个激活邮件到新注册用户的邮箱里。
第四步:解决激活邮件链接无效的问题
经我测试了一下,又出现了一个问题:发送的激活邮件链接无效,如下图(会多出一个 < ):
点击这上链接后,会进入如下图的界面:
提示“你的密码重设链接无效”。经百度后,才了解这是wordpress的一个小bug,需要修改一下wordpress程序的wp-includes文件夹中的pluggable.php文件的一句代码(大概1899行如下图),把代码中的 < 和 > 去掉:
这时候,新用户注册成功后,点击邮件中的链接会跳到重置密码页面,如下图:
到这里,我们wordpress网站开放注册才算是全部结束。注册成功后,wordpress会发送一个随机密码给新注册用户,在上图中的输入框中显示,新用户可以在上图这个页面重新设置自己的密码。
评论