typecho邮件提醒插件:Comment2Mail

项目介绍

star

Typecho博客评论通过时发送邮件提醒
插件源码: https://gitee.com/HoeXhe/typecho-Comment2Mail

更新说明

ps 更新需重新启用并配置插件

  • version 1.3.0 新增配置测试功能,验证配置是否能正常发信
  • version 1.2.1 如果是自己回复自己评论的, 不接收邮件
  • version 1.2.0 如果所有评论必须经过审核, 通知博主审核评论
  • version 1.1.1 邮件里显示评论人邮箱
  • version 1.1.0 修改了邮件样式,邮件样式是utf8,避免邮件乱码
  • version 1.0.1 博主回复别人时,不需要给博主发信

软件架构

typecho版本为0.8 (10.8.15)以上 (理论是支持所以版本)
php: >=5.5.0
如果启用SMTP加密模式PHP需要打开openssl扩展
邮件服务基于PHPMailer

安装教程

下载本插件,解压放到/usr/plugins/目录中
文件夹名改为Comment2Mail
登录管理后台,激活插件
配置插件 填写SMTP参数 QQ邮件SMTP配置说明 新浪配置 阿里云邮件配置 网易163邮件配置

2019-06-10_093359.png

常见问题

⭕️ 1. PHPMailerPHPMailerException: SMTP connect() failed. SMTP连接失败,请检查配置项

  • 检查邮箱配置: SMTP服务器地址 用户名 密码 端口是否正确
  • 检查运行环境: php 版本是否符合要求 或 openssl 扩展是否开启

⭕️ 2. 如配置项正确, 还是无法发信

服务器安全组策略把端口(465, 587)禁用了, 在服务器管理后台开启即可

联系作者

Email:i@hoehub.com

typecho

我来吐槽

*

*

已有 203 条评论

  1. Gmc

    大佬大佬!1.2正式版发布了,请求更新😁

    1. Hoe

      收到,会尽快安排,尽请期待😁

      1. 枫叶

        邪门了。我用你的就是最新版本1.3的。我这边报错。
        然后用的人家魔改你的1.2版本的【CommentNotifier】。倒是没问题。真是邪门了,也许我博客用的pjax,提交上有问题把。

      2. inkss

        插眼等更新啦,现在提交的时候会报一个不影响使用的错误。

        Typecho\Widget::__construct(): Argument #1 ($request) must be of type Typecho\Widget\Request, Typecho\Request given, called in /usr/plugins/Comment2Mail/Plugin.php on line 173

        1. 枫叶

          你这个报错解决了吗。话说我博客里是评论父级评论会报错这个。关闭插件就没问题,好奇怪。

          1. Hoe

            解决了,下载新版本就可以

  2. 因为很想念

    昨天一安装就成功了,谢谢

  3. 夏五十四

    PHPMailerPHPMailerException: The following From address failed: 630565661@qq.com : MAIL FROM command failed,"MAIL FROM" doesn't conform with authentication [@sm060104] (Auth Account:admin@mail.xiawu14.com|Mail Account:630565661@qq.com)
    ,436,SMTP server error: MAIL FROM command failed Detail: "MAIL FROM" doesn't conform with authentication [@sm060104] (Auth Account:admin@mail.xiawu14.com|Mail Account:630565661@qq.com)
    SMTP code: 436 in /www/wwwroot/www.xiawu14.com/usr/plugins/Comment2Mail/PHPMailer/src/PHPMailer.php:1768
    Stack trace:

    0 /www/wwwroot/www.xiawu14.com/usr/plugins/Comment2Mail/PHPMailer/src/PHPMailer.php(1513): PHPMailerPHPMailerPHPMailer->smtpSend()1 /www/wwwroot/www.xiawu14.com/usr/plugins/Comment2Mail/PHPMailer/src/PHPMailer.php(1352): PHPMailerPHPMailerPHPMailer->postSend()2 /www/wwwroot/www.xiawu14.com/usr/plugins/Comment2Mail/Action.php(62): PHPMailerPHPMailerPHPMailer->send()3 /www/wwwroot/www.xiawu14.com/var/Typecho/Router.php(138): Comment2Mail_Action->action()4 /www/wwwroot/www.xiawu14.com/index.php(23): Typecho_Router::dispatch()5 {main}

    大佬,请问这是什么问题呀,使用的是阿里的smtp。

  4. 权加

    失败,请检查配置项~
    PHPMailerPHPMailerException: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting in /home/molxycn/public_html/usr/plugins/Comment2Mail/PHPMailer/src/PHPMailer.php:1758
    Stack trace:

    0 /home/molxycn/public_html/usr/plugins/Comment2Mail/PHPMailer/src/PHPMailer.php(1513): PHPMailerPHPMailerPHPMailer->smtpSend('Date: Fri, 10 D...', '5rWL6K+Vrn')1 /home/molxycn/public_html/usr/plugins/Comment2Mail/PHPMailer/src/PHPMailer.php(1352): PHPMailerPHPMailerPHPMailer->postSend()2 /home/molxycn/public_html/usr/plugins/Comment2Mail/Action.php(62): PHPMailerPHPMailerPHPMailer->send()3 /home/molxycn/public_html/var/Typecho/Router.php(138): Comment2Mail_Action->action()4 /home/molxycn/public_html/index.php(23): Typecho_Router::dispatch()5 {main}

    是什么问题?我也看过评论,按方法又重新检查了几遍还是这样

    1. Hoe

      哪个邮箱

        1. Hoe

          邮箱密码和QQ登录密码不一样,你用的是邮箱的独立密码吧

          1. 权加

            谢谢老板,已经可以了😀😀

          2. Hoe

            把你的配置发到我QQ913746590 我试一下

          3. Hoe

            是SSL 465端口吗

          4. 权加

            邮箱独立密码和授权码我都试过了
            还是这样

          5. Hoe

            SMTP的密码

          6. 权加

            是授权码还是邮箱独立设置的登录密码?

  5. ATP

    最新的 Typecho v1.2.0-rc.1 版本回复会报错:

    Argument 1 passed to Typecho\Widget::__construct() must be an instance of Typecho\Widget\Request, instance of Typecho\Request given

    需要将 Plugin.php 第 175 行 Typecho_Request() 和 Typecho_Response() 改为 Typecho_Widget_Request() 和 Typecho_Widget_Response() 即可。
    新版本 Typecho 有大量优化和重写,期待博主诈尸更新😀

    1. Hoe

      OK,敬请期待

    2. ATP

      但貌似会导致另一个错误...最后测试了下直接将 175 行改为 $widget = Widget_Abstract_Comments::alloc(); 应该没问题

  6. 小熊猫

    启动失败是怎么回事

  7. 泽泽

    typecho1.2大佬可以适配下了😆,目前测试站长登录后回复评论报错,其他倒是正常

    1. Hoe

      新版正式发布后,我会更新

    2. ATP

      确实有这个问题,等作者大佬更新😊

  8. cell

    大兄弟 插件测试可以正常发送 但是勾选了日志没有生成log.txt 什么原因啊 PHP代码也搞不懂。😂

    1. Hoe

      可能是没有写入权限

      1. cell

        已经搞定了,插件很耐用 。😂😂😂

        1. Hoe

          😀感谢支持

  9. 陈小儒

    测试发信报错,一直请稍等,腾讯企业邮箱,换成QQ的也一样。设置了独立密码,放行了端口,服务器为宝塔面板默认配置。
    后台报错记录:
    2021/05/07 03:46:48 [error] 4160#0: *1268 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 42.57.50.136, server: cxr.cool, request: "GET /comment2mail/test?_=936c5aebef4ca36477e6fb63d015d09e&STMPHost=smtp.exmail.qq.com&SMTPUserName=cxr%40cxr.cool&SMTPPassword=【手动打码】&SMTPSecure=ssl&SMTPPort=465&fromMail=cxr%40cxr.cool HTTP/2.0", upstream: "fastcgi://unix:/tmp/php-cgi-56.sock:", host: "cxr.cool", referrer: "https://cxr.cool/admin/options-plugin.php?config=Comment2Mail"

    1. Hoe

      我也不清楚这是什么问题, 查了一下说是nginxphp-fpm 间的通信出现了问题,通常是 php-fpm 由于超时等原因终止导致 nginx 未收到有效回应。你可以尝试调整你的 php 配置。

      1. 陈小儒

        大佬。。。我换了Apache 2.4.46还是有问题。。。我都蒙了。。。能加微信帮忙看一下是哪里的问题吗 ?
        失败,请检查配置项~
        PHPMailerPHPMailerException: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting in /www/wwwroot/cxr.cool/usr/plugins/Comment2Mail/PHPMailer/src/PHPMailer.php:1758
        Stack trace:

        0 /www/wwwroot/cxr.cool/usr/plugins/Comment2Mail/PHPMailer/src/PHPMailer.php(1513): PHPMailerPHPMailerPHPMailer->smtpSend('Date: Fri, 7 Ma...', '5rWL6K+Vrn')1 /www/wwwroot/cxr.cool/usr/plugins/Comment2Mail/PHPMailer/src/PHPMailer.php(1352): PHPMailerPHPMailerPHPMailer->postSend()2 /www/wwwroot/cxr.cool/usr/plugins/Comment2Mail/Action.php(62): PHPMailerPHPMailerPHPMailer->send()3 /www/wwwroot/cxr.cool/var/Typecho/Router.php(138): Comment2Mail_Action->action()4 /www/wwwroot/cxr.cool/index.php(23): Typecho_Router::dispatch()5 {main}

        保存设置

        1. Hoe

          检查邮箱账号密码端口配置,SMTP连接失败了

          1. 陈小儒

            都重新设置了,还是不行,测试一直在请稍等,快半个小时了,没变化了。。。