Typecho评论邮件通知插件 - LoveKKComment[v1.0.5]

插件简介

LoveKKComment是一款Typecho邮件通知类插件,支持SMTP、Send Cloud、阿里云邮件推送三种邮件通知方式。

在评论审核通过、用户评论文章、用户评论被回复时对不同场景进行不同的邮件通知。

项目地址:https://github.com/ylqjgm/LoveKKComment

安装方法

  1. releases中下载最新版本插件;
  2. 将下载的压缩包进行解压并上传至Typecho插件目录中;
  3. 后台激活插件;
  4. 根据自己的实际情况选择邮件发送接口方式;
  5. 根据所选的邮件发送接口,配置相应接口参数。

SMTP临时验证方法(2018.10.1)

目前有部分朋友在配置时,经常出现SMTP发信有问题的情况,但其实很多时候是自己的配置出现了问题,为了验证这一情况,特编写了这一临时验证文件,在后期版本中将会增加发信测试功能。

此文件请先修改后保存为mail.php文件,并上传到您的博客/usr/plugins/LoveKKComment目录下,然后直接使用浏览器访问:http://yourdomain.com/usr/plugins/LoveKKComment/mail.php

<?php
header('content-type:text/html;charset=utf-8');

// 载入PHPMailer
if (!class_exists('PHPMailer\PHPMailer\PHPMailer')) {
    require dirname(__FILE__) . '/lib/PHPMailer.php';
}
// 载入SMTP
if (!class_exists('PHPMailer\PHPMailer\SMTP')) {
    require dirname(__FILE__) . '/lib/SMTP.php';
}
// 载入Exception
if (!class_exists('PHPMaile\PHPMailer\Exception')) {
    require dirname(__FILE__) . '/lib/Exception.php';
}

// 初始化PHPMailer
$mail = new PHPMailer\PHPMailer\PHPMailer(FALSE);
// 设置编码
$mail->CharSet = 'UTF-8';
// 启用SMTP
$mail->isSMTP();
// SMTP地址
$mail->Host = 'SMTP服务器地址';
// SMTP端口
$mail->Port = 'SMTP连接端口';
// SMTP用户名
$mail->Username = 'SMTP登录账号';
// SMTP密码
$mail->Password = 'SMTP登录密码';
// 是否要验证:true为需要,false为不需要
$mail->SMTPAuth = true;
// 设置加密模式,tls、ssl,无加密则直接删除这一条
$mail->SMTPSecure = 'tls';
$mail->SMTPDebug = 2;
$GLOBALS['SMTPDebug'] = '';
$mail->Debugoutput = function ($str) {
    $GLOBALS['SMTPDebug'] .= "$str\n";
};
// 发送邮件
$result = $mail->SmtpConnect();
echo nl2br(str_replace('<credentials hidden>', '', $GLOBALS['SMTPDebug'])) . '<br>';

if ($result) {
    echo 'Verify OK';
} else {
    echo 'Verify Fail';
}

错误反馈

已增加Debug模式,请在发信失败的时候开启Debug模式,并重新发送一次,同时将插件目录下生成的debug.txt文件内容发送给康康进行反馈。

更新日志

2019.01.08

  1. 新增异步回调邮件发送模式,仅在Typecho版本大于1.1/17.10.30时使用
  2. 新增配置验证模式,Send Cloud验证API USER及API KEY正确性,SMTP验证登录正确性,阿里云仅验证是否填写
  3. 与LoveKKForget插件合并,可自由开启
  4. 去除新版本检测功能,请使用TeStore进行版本检测

2018.09.27

9月3日提交的代码中不知为何竟然被粘贴了一条日志记录,导致代码语法错误,启用插件会出现syntax error, unexpected '<<' (T_SL),BUG已修复。

2018.09.03

由于今年备案规则,限制部分后缀域名备案,担心后续会影响网站数据,将仓库再次迁移回github.com

2018.8.19

  1. 新增Debug模式
  2. 修复PHPMailer发信时的小错误

2018.8.14

  1. 增加SMTP邮件发送方式
  2. 增加阿里云邮件推送发送方式
  3. 更改SendCloud发送方式为普通发送,不再使用模板发送
  4. 邮件模板更改为本地HTML模板
  5. 自由选择邮件发送方式
  6. 去除Action.php文件

2018.8.8

  1. 修正版本检测地址
  2. 符合TeStore插件
  3. 仓库迁移

2018.3.28

增加评论作者通知功能(用户评论后自动发送邮件通知文章作者)
最后修改:2019 年 04 月 27 日 12 : 09 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论

288 条评论

  1. 芝麻

    https://ws1.sinaimg.cn/large/007HNLAtly1g6fta2xy3kj315c03b74i.jpg

  2. 芝麻

    他显示 两个con 地址格式错误 域名也配置了

  3. 酷酷的二货

    [Aliyun] 2019-08-27 14:24:25:
    邮件发送失败,错误代码:Forbidden,错误提示:User not authorized to operate on the specified resource.
    康康这是什么意思?(╯‵□′)╯︵┴─┴

    1. 康康
      @酷酷的二货

      验证问题,自己核对信息

  4. 芝麻

    作者 大哥 能不能回我一下

  5. 芝麻
    该评论仅登录用户及评论双方可见
  6. 芝麻

    邮件发送返回数据:b:1;; 错误信息: -------------------------------------------
    错误信息是- 是怎么回事啊 我都搞了一天了 还没搞好

    1. 康康
      @芝麻

      收不到么?

      1. 芝麻
        @康康

        嗯 收不到

  7. Yoodi

    希望能够在添加一个 让用户选择接受邮件与否的选择方式
    这样能够减少垃圾邮件 也能 减少部分博主的开销٩(ˊᗜˋ*)و

    1. 康康
      @Yoodi

      。。。这个就涉及到数据库了,可我的插件在设计之初就没想过动数据库啊

  8. Yoodi

    验证的我Time Out了

    1. 康康
      @Yoodi

      连接超时咯

    2. Yoodi
      @Yoodi

      不过倒是测试能通过
      `SERVER -> CLIENT: 220 yeah.net Anti-spam GT for Coremail System (yeah[20141016])

      CLIENT -> SERVER: EHLO unknown.cat

      SERVER -> CLIENT: 250-mail
      250-PIPELINING
      250-AUTH LOGIN PLAIN
      250-AUTH=LOGIN PLAIN
      250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFzIfLXUCa0xDrUUUUj
      250-STARTTLS
      250-SMTPUTF8
      250 8BITMIME

      CLIENT -> SERVER: AUTH LOGIN

      SERVER -> CLIENT: 334 dXNlcm5hbWU6

      CLIENT -> SERVER:
      SERVER -> CLIENT: 334 UGFzc3dvcmQ6

      CLIENT -> SERVER:
      SERVER -> CLIENT: 235 Authentication successful

      Verify OK`

      1. Yoodi
        @Yoodi

        已经找到了一个很奇葩的解决方案
        希望博主能修缮一下验证功能

        1. 康康
          @Yoodi

          什么解决方案?

  9. 易支烟

    激活失败咋办

    1. 康康
      @易支烟

      什么激活失败?

  10. 尚寂新

    Warning: in_array() expects parameter 2 to be array, null given in /WEB/usr/plugins/LoveKKComment/Plugin.php on line 801
    我关掉了找回密码的功能 然后就提示了这个

    1. 康康
      @尚寂新

      小bug,无需理会

  11. lonbaw

    提一个bug:
    smtp.163.com/465 /ssl 配置,开启debug的话,会报错 “SMTP加密模式错误,建议填写为TSL”,更改为TSL之后,开启debug ,插件配置保持成功。测试结果不可用(评论无法发送(提交评论耗时很久才返回失败),无debug.txt;找回密码失败,提示邮箱配置错误),之后关闭debug,将SMTP加密方式更改回SSL,保持配置成功,找回密码成功。发送评论秒成功

    1. 康康
      @lonbaw

      额,请看看tls的配置信息是否正确,耗时很久,一般是连接不上服务器

  12. 久念

    博主,qq邮箱,163邮箱使用授权码登陆出现错误
    SMTP Error: Could not connect to SMTP host. SMTP服务器地址
    Verify Fail,
    应该怎么解决啊

    1. 康康
      @久念

      验证失败了,检查配置信息

  13. 安城博客

    错误信息
    邮件发送返回数据:b:0;; 错误信息: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
    什么意思

    1. 康康
      @安城博客

      连接失败,配置错误,或者是服务器无法访问到smtp服务器

  14. athony

    博主,163邮箱使用授权码登陆出现错误
    SMTP Error: Could not connect to SMTP host. SMTP服务器地址
    Verify Fail,
    应该怎么解决啊

    1. 康康
      @athony

      验证失败,配置错误

  15. Heven Kin

    这个插件用上了,特别好用
    请问能不能改进一下,博主自己评论时不发送邮件呢?怕把阿里云的免费额度用爆了(应该不可能)

    1. 康康
      @Heven Kin

      自己评论只要自己是作者,不会啊

      1. Heven Kin
        @康康

        抱歉,我发现那时候测试退出了账号

  16. henk

    博主,插件一点启用网页就显示错误码:500(电脑端),手机端直接空白啥都没有,就是启用不成攻。请问怎么办呀?

    1. 康康
      @henk

      开启php的错误显示,typecho的debug然后重试,看看错误信息

  17. JOJO

    由 Typecho 强力驱动, 版本 1.2 (19.05.09)版本、安装之后点击启用就提示404,
    然后跳转到域名/action/plugins-edit?activate=LoveKKComment-1.0.5&_=4bef823d14a49ba07c47eacbdc888446

    1. 康康
      @JOJO

      开启伪静态试试

    2. JOJO
      @JOJO

      主题的话和博主一样的。hadnsome主题5.1

  18. 自成蹊

    你好,博主。我测试了一下,装了之后找回密码邮件可以正常接收。但是评论回复没有,请问怎么回事debug文件里面也没有发信信息。

    1. 康康
      @自成蹊

      你博客什么版本?还有debug里面是没有发送信息么?什么信息都没有么?

      1. 自成蹊
        @康康

        主题的话和博主一样的。hadnsome主题5.1

      2. 自成蹊
        @康康

        debug里面没有消息,之前都没有debug这个文件,我打开找回密码选项,发送了邮件才生成了debug。 我用的阿里的虚拟主机。

        1. 康康
          @自成蹊

          虚拟主机的不清楚

        2. 自成蹊
          @自成蹊

          博主是没用邮件通知吗,我也没收到你博客的邮件。

          1. 康康
            @自成蹊

            我这里使用的,就连你评论我都能收到邮件啊

      3. 自成蹊
        @康康

        版本 1.2 (18.1.29)。

        1. 康康
          @自成蹊

          同样的版本,我这里没有任何问题啊

          1. 自成蹊
            @康康
            该评论仅登录用户及评论双方可见
  19. 爱莉
    该评论仅登录用户及评论双方可见
  20. 门寒子

    博主你好,我想反馈个问题,Typecho版本为1.1 (17.10.30),插件版本为1.0.5,每次在插件设置中点击保存都会卡很久然后跳出请求超时界面,然后关闭重新打开,发现设置已经保存了,这是什么情况?

    1. 康康
      @门寒子

      465端口问题

      1. Kiwiape
        @康康

        我也遇到了,但我没注意到是保存上的,导致我一直以为插件是废的……
        直到现在才发现超时并不影响发送

        1. 康康
          @Kiwiape

          只要能正常使用就行

          1. Kiwiape
            @康康

            嗯……只是这个“以为没保存”让我几个月都游离在想解决发不出的问题、但反复尝试几个插件又都无效的头疼状态

            1. 康康
              @Kiwiape

              额,就是小BUG