DNN中配置SMTP以及管理员充值密码的设定

      在安装DNN的时候就有SMTP配置的选项,但是当时没有搞清楚,所有就跳过去了。后来一直没有用到SMTP的功能,所以也就一直没有搞明白到底SMTP有什么用。前几天将DNN网站的PasswordFormat设置成了Hashed以后使用host修改testuser的密码是是通过"reset password",然后DNN系统通过SMTP设置将testuser的密码发送到testuser的用户邮箱中。这时我就必须得把SMTP设置好了。

      废话不多说了。在Host->Host Settings->Advanced Settings->SMTP Server Settings中进行SMTP的配置。

SMTP Server and port: smtp.163.com

SMTP Authentication: basic
SMTP Enable SSL: 不选
SMTP Username:host//如果你的邮箱是host@163.com,那么这里只填host就行了,不带@。

SMTP Password: hostpassword

      需要注意的是SMTP这里的邮箱是host@163.com,那么在Host->Host Settings->Host Details->Host Email也必须是host@163.com。这里是已经测试过了。如果Host Email不是host@163.com测试的时候将发生错误。

      到此为止我们的SMTP就已经配置好了,那么这个时候是不是通过host账户就能够来"reset password"并且将密码发送到用户邮箱里面呢?其实还需要一个关键的配置,那就是admin的邮箱。因为DNN系统默认是使用admin帐号的Email作为发件人。我刚开始的时候admin的账号是默认的admin@change.me这个邮箱,所有我在"reset password"以后用户邮箱还是不能获得密码。然后去

"admin->Event Viewer"中可以看到最近的错误日志为"ailbox name not allowed. The server response was: You are not authorized to send mail, authentication is required"。我们需要将admin的邮箱也改成host@163.com才行。这样在reset password的时候就能够收到密码了。这里我是有admin@163.com就无法收到admin@163.com的密码重置邮件,这是我比较疑惑的地方,提示说我的邮箱没有授权。

      在发送重置密码的时候还发现了一个错误,那就是有一个账户testuser2它收到的充值密码都是"******",而其他账户都能收到正确的充值密码。后来通过数据库查询对比发现原来testuser2的PasswordFormat=2,那么表明testuser2是在我将加密方式改成Hashed以前注册的,那么这类账户是不能通过reset Password 来获得充值密码的。

作者:xwdreamer
欢迎任何形式的转载,但请务必注明出处。
分享到:
原文地址:https://www.cnblogs.com/xwdreamer/p/2297152.html