康康

Typecho评论邮件通知插件 - LoveKKComment[v1.0.5]
插件简介LoveKKComment是一款Typecho邮件通知类插件,支持SMTP、Send Cloud、阿里云邮...
扫描右侧二维码阅读全文
25
2018/03

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
如果觉得我的文章对你有用,请随意赞赏

发表评论

238 条评论

  1. 爱莉
    该评论仅登录用户及评论双方可见
  2. 门寒子

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

    1. 康康
      @门寒子

      465端口问题

  3. emorsl

    急需这个,一会来试试

  4. 该评论仅登录用户及评论双方可见
  5. 路人甲
    该评论仅登录用户及评论双方可见
  6. Airs_Lau

    加密端口问题,已解决谢谢博主插件

    1. 康康
      @Airs_Lau

      恩,好的,解决就行

  7. Airs_Lau

    [Send Cloud] 2019-04-12 21:46:24:
    邮件发送失败,错误提示:认证失败
    邮件发送返回数据:s:70:"{"result":false,"statusCode":40005,"message":"认证失败","info":{}}";
    必须配置SendCloud吗 不能直接用QQ的smtp服务器发送吗

    1. 康康
      @Airs_Lau

      可以的啊

  8. 流星奇迹year

    邮件发送返回数据:b:0;; 错误信息: You must provide at least one recipient email address.

    只有通过审核的时候会出现,没有提供对方的邮件地址参数。求解决!!

    1. 康康
      @流星奇迹year

      是什么发信方式?

  9. 不息

    来提交bug了,,,
    Error: Call to a member function value() on null in typechovarWidgetPluginsConfig.php:107
    Stack trace:

    0 typechoadminoptions-plugin.php(12): Widget_Plugins_Config->config()1 {main}

    打开设置页面报错(/admin/options-plugin.php?config=LoveKKComment),

    1. 康康
      @不息

      额,什么版本的?

    2. 不息
      @不息

      因为版本升级,直接用新版本文件覆盖之前的文件了。刚才debug发现,新版本的插件使用了新的字段名(sendcloud_api_user),我禁用插件再启用就好了。
      还是谢谢博主的插件

      1. 康康
        @不息

        哦,好的,能用了吧?

  10. 小明

    debug报错信息: 错误信息: You must provide at least one recipient email address.

    1. 康康
      @小明

      用的哪种发信方式?这是提示没有添加收件人地址

    2. 小明
      @小明

      一样是自己能收到别人收不到

      1. 康康
        @小明

        什么方式

      2. 小明
        @小明

        补充一下好像只有审核通过邮件无法发送,这个怎么解决呢

        1. 康康
          @小明

          等我看看吧

  11. LukaChen

    感谢Blog主的插件,非常好用 OωO 。可以的话,希望申请个友链~谢谢~
    名称: LukaChen Blog
    地址: http://lukachen.com
    描述: 一个PHP程序员

    1. 康康
      @LukaChen

      不客气,已经加上了

  12. 小天教主

    在哪里配置相应接口参数,哪个文件

    1. 康康
      @小天教主

      额,不用文件来配置啊,直接在后台插件配置啊

  13. 才子

    typecho:1.2 (18.10.23)
    LoveKKComment:1.0.5

    复现过程:关闭找回密码

    报错信息:Warning: in_array() expects parameter 2 to be array, null given in /www/wwwroot/www.bytepoem.com/usr/plugins/LoveKKComment/Plugin.php on line 801

    1. 康康
      @才子

      小BUG,不用理会,只是警告,下个版本修复

      1. 才子
        @康康

        期待,谢谢博主,插件很好用

        1. 康康
          @才子

          感谢支持

  14. Intern

    博主你好,昨天用上了你的插件 然后我发现一处安全漏洞想向你反馈一下

    1. 康康
      @Intern

      已收到,感谢反馈,将尽快处理

  15. 刘大喵

    已经用上,非常感谢大佬的分享OωO

    1. 康康
      @刘大喵

      不客气,好用就行

  16. 我用的是博主你这个插件,为什么我评论别人,别人收不到邮箱提醒,别人评论我,我马上就收到了

    1. 康康
      @湫

      别人收不到,是所有人收不到还是只有某个人收不到?
      如果是所有人收不到,自己收的到,请确认下,自己的发件邮箱和收件邮箱是否同一个,如果是同一个,那么直接登录邮箱,转发一封提醒邮件到其他非同服务商邮箱看看是否能收到,如果能收到,那么使用填写的SMTP信息,使用foxmail等客户端工具测试一下试试,如果不能收到或者是进了垃圾邮箱,那么请联系服务商

  17. 小白

    欢迎 小白 归来!哪里归来?如何判断的!牛XX哈!OωO

    1. 康康
      @小白

      根据你曾经在这里留言过,存储过Cookie

  18. Rat's

    大佬牛皮

    1. 康康
      @Rat's

      你更牛啊,访客多哦

  19. Jim

    SMTP Error: Could not connect to SMTP host. SMTP服务器地址

    Verify Fail

    1. 康康
      @Jim

      验证失败了,请检查SMTP信息

  20. hiCasper

    使用时出现警告:
    PHP message: PHP Warning: in_array() expects parameter 2 to be array, null given in /www/wwwroot/blog/usr/plugins/LoveKKComment/Plugin.php on line 631" while reading response header from upstream, client: 183.162.8.47, server: , request: "POST /post/114.html/comment HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-cgi-70.sock:", host: "", referrer: ""
    使用的是SendGrid的SMTP服务

    1. 康康
      @hiCasper

      你检查下配置,同时看下是否最新版本