插件简介
作为一个博客程序,Typecho竟然没有密码找回功能,可以说很是意外!也有很多网友对这个功能进行过增加,但大多需要对内核代码进行修改,这样对以后的升级很不友好。
于是康康参考了部分ShingChi曾经编写的找回密码插件:Passport,写出了LoveKKForget。
插件功能很简单,就是一个密码找回的功能,同时考虑到smtp发信的丢信率等因素,将邮件发送改为了使用SendCloud进行发送。
功能说明
- 自动在login.php页面增加找回密码链接
- 后台可对SendCloud发信信息进行配置
- 可设置重置密码链接过期时间
使用说明
- 上传插件
- 激活插件
- 申请SendCloud账号并创建域名、修改NS
- 创建发信API
- 创建找回密码邮件模板
- 后台配置插件
SendCloud相关教程
首先打开SendCloud注册页面:https://www.sendcloud.net/signup.html
根据提示注册SendCloud账号,注册完成后登录,并选择邮件功能。
在后台发送设置中新增发信域名,填入要作为发信的域名,建议为mail.domain.com格式,如康康的为:mail.usebsd.com
根据SendCloud的要求到域名NS处新增TXT、MX解析,等待SendCloud验证通过。
发送设置中点击左侧API User,并创建一个API_USER,类型选择触发,域名就为刚才创建的域名,记录下API_USER及API_KEY。
发送相关中点击左侧邮件模板创建一个模板,模板内容为下方的发信模板中的HTML代码,并记录下调用名称。
将API_USER、API_KEY、调用名称依次填入插件配置中,发件人邮件地址则填写一个邮件地址,建议与发信邮箱一致,如康康的为:admin@mail.usebsd.com。
发信模板
<div style="background:#ececec;width: 100%;padding: 50px 0;text-align:center;">
<div style="background:#fff;width:750px;text-align:left;position:relative;margin:0 auto;font-size:14px;line-height:1.5;">
<div style="zoom:1;padding:25px 40px;background:#518bcb; border-bottom:1px solid #467ec3;">
<h1 style="color:#fff; font-size:25px;line-height:30px; margin:0;"><a href="%home_url%" style="text-decoration: none;color: #FFF;">您在 [%blogname%] 的密码找回申请!</a></h1>
</div>
<div style="padding:35px 40px 30px;">
<h2 style="font-size:18px;margin:5px 0;"><span style="color: rgb(186, 76, 50); font-family:微软雅黑, verdana, arial; line-height: 23.3999996185303px;">%mail%</span>, 您好!</h2>
<p style="color:#313131;line-height:20px;font-size:15px;margin:20px 0;">您在 [%blogname%] 提交了找回密码申请, 请核对下方表内信息并点击链接修改密码:</p>
<table cellspacing="0" style="font-size:14px;text-align:center;border:1px solid #ccc;table-layout:fixed;width:500px;">
<thead>
<tr>
<th style="padding:5px 0;text-indent:8px;border:1px solid #eee;border-width:0 1px 1px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:normal;color:#a0a0a0;background:#eee;border-color:#dfdfdf;" width="280px;">邮箱地址</th>
<th style="padding:5px 0;text-indent:8px;border:1px solid #eee;border-width:0 1px 1px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:normal;color:#a0a0a0;background:#eee;border-color:#dfdfdf;" width="270px;">申请时间</th>
<th style="padding:5px 0;text-indent:8px;border:1px solid #eee;border-width:0 1px 1px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:normal;color:#a0a0a0;background:#eee;border-color:#dfdfdf;" width="110px;">操作</th>
</tr>
</thead>
<tbody>
<tr>
<td style="padding:5px 0;text-indent:8px;border:1px solid #eee;border-width:0 1px 1px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">%mail%</td>
<td style="padding:5px 0;text-indent:8px;border:1px solid #eee;border-width:0 1px 1px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">%sendtime%</td>
<td style="padding:5px 0;text-indent:8px;border:1px solid #eee;border-width:0 1px 1px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;"><a href="%resetlink%" style="color:#1E5494;text-decoration:none;vertical-align:middle;" target="_blank">%resetlink%</a></td>
</tr>
<tr>
<td colspan="3" style="padding:5px 0;text-indent:8px;border:1px solid #eee;border-width:0 1px 1px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#FF0000;font-weight:bold">重置密码链接有效时间为 "%expire%" 分钟, 请在此时间内进行密码重置</td>
</tr>
</tbody>
</table>
<div style="font-size:13px;color:#a0a0a0;padding-top:10px">请注意:此邮件由 <a href="%blogurl%" target="_blank" title="%blogname%">%blogname%</a> 自动发送,请勿直接回复。<br />
若此邮件不是您请求的,请忽略并删除!</div>
<div class="qmSysSign" style="padding-top:20px;font-size:12px;color:#a0a0a0;">
<p><a href="%%user_defined_unsubscribe_link%%" style="background: #1ABC9C;border:1px solid #13A386;padding:8px 20px;color: #fff;text-decoration:none;border-radius:4px">不想再收到此类邮件</a></p>
</div>
</div>
</div>
</div>
更新日志
2018.09.03
- 由于今年备案规则,限制部分后缀域名备案,担心后续会影响网站数据,将仓库再次迁移回github.com
2018.8.8
- 修正版本检测地址
- 符合TeStore插件
- 仓库迁移