Typecho找回密码插件 - LoveKKForget,不用修改内核代码

插件开发及发布

版主: woniou

回复
头像
ylqjgm
帖子: 20
注册时间: 2018年 2月 4日 00:10
联系:

Typecho找回密码插件 - LoveKKForget,不用修改内核代码

帖子 ylqjgm »

插件介绍

作为一个博客程序,Typecho竟然没有密码找回功能,可以说很是意外!

也有很多网友对这个功能进行过增加,但大多需要对内核代码进行修改,这样对以后的升级很不友好。

于是康康参考了部分ShingChi曾经编写的找回密码插件:http://forum.typecho.org/viewtopic.php?f=6&t=9313,写出了LoveKKForget。

插件功能很简单,就是一个密码找回的功能,同时考虑到smtp发信的丢信率等因素,将邮件发送改为了使用SendCloud进行发送。

功能说明

1. 自动在login.php页面增加找回密码链接
2. 后台可对SendCloud发信信息进行配置
3. 可设置重置密码链接过期时间

使用说明

1. 上传插件
2. 激活插件
3. 申请SendCloud账号并创建域名、修改NS
4. 创建发信API
5. 创建找回密码邮件模板
6. 后台配置插件

SendCloud相关教程

1. 首先打开SendCloud注册页面:https://www.sendcloud.net/signup.html
2. 根据提示注册SendCloud账号,注册完成后登录,并选择邮件功能。
3. 在后台发送设置中新增发信域名,填入要作为发信的域名,建议为mail.domain.com格式,如康康的为:mail.lovekk.org
4. 根据SendCloud的要求到域名NS处新增TXT、MX解析,等待SendCloud验证通过。
5. 发送设置中点击左侧API User,并创建一个API_USER,类型选择触发,域名就为刚才创建的域名,记录下API_USER及API_KEY。
6. 发送相关中点击左侧邮件模板创建一个模板,模板内容为下方的发信模板中的HTML代码,并记录下调用名称。
7. 将API_USER、API_KEY、调用名称依次填入插件配置中,发件人邮件地址则填写一个邮件地址,建议与发信邮箱一致,如康康的为:[email protected]

发信模板

代码: 全选

<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">重置密码链接有效时间为 &quot;%expire%&quot; 分钟, 请在此时间内进行密码重置</td>
        </tr>
    </tbody>
</table>
&nbsp;
<div style="font-size:13px;color:#a0a0a0;padding-top:10px">请注意:此邮件由&nbsp;<a href="%blogurl%" target="_blank" title="%blogname%">%blogname%</a>&nbsp;自动发送,请勿直接回复。<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>


插件地址:https://git.wskehao.com/ylqjgm/LoveKKForget
作者页面:https://www.lovekk.org/83.html
上次由 ylqjgm 在 2018年 8月 6日 15:57,总共编辑 1 次。
头像
ClayMore
帖子: 2481
注册时间: 2007年 11月 29日 02:55
来自: Sleeping Forest
联系:

Re: Typecho找回密码插件 - LoveKKForget,不用修改内核代码

帖子 ClayMore »

已FORK
回复