Ricardo.Li

CommentToMail V4.1 使用教程
CommentToMail作为一款老牌Typecho邮件通知评论的插件,也有很多分支,但是由于版本太老所以有各种各...
扫描右侧二维码阅读全文
08
2017/09

CommentToMail V4.1 使用教程

CommentToMail作为一款老牌Typecho邮件通知评论的插件,也有很多分支,但是由于版本太老所以有各种各样的问题,博主在9月4日-9月6日不断尝试,不断失败后决定自己动手修改这个插件的。

更新日志

V4.0.0(2017.09.08)

1.基于原V3.1.0版本重新编写
2.更新了PHP Mailer版本
3.优化了使用SMTP发信的证书认证(QQ邮箱证书加密级别太低)
4.修复使用QQ邮箱(非企业邮箱)的时候会发现邮件发不出去的BUG
5.将异步触发更换为网址监控运行

V4.1.1(2017.12.21)

1.更新插件使用说明
2.优化通知模板UI
3.增添一个解决DT:SPM CODE 544错误的方案
4.增添对php7.2的支持
5.更多细节优化

V4.1.2(2018.04.30)

修复数据库导入时偶发性的“Database Query Error” (感谢 权那他 的指正)
祝自己高考顺利!

版权申明

1.插件原版本及作者相关信息保留在插件文件的作者信息下方
2.PHP Mailer文件来自于GitHub
3.转载或重制请保留作者信息

使用方法

1.下载插件,将插件上传到 /usr/plugins/ 目录下,修改主题模板comments.php文件,在评论form表单的适当位置添加name为receiveMail的选择框(checkbox),请注意:下方两种代码,你只能选择一个添加到主题模板文件,一般建议你选择默认接收邮件。

  • 正常显示选择框:

<input type="checkbox" name="receiveMail" id="receiveMail" value="yes" checked /> <label for="receiveMail" style="padding-left:8px;">当有人回复时接收邮件提醒</label>

  • 隐藏选择框(默认接受邮件):

<input type="hidden" name="receiveMail" id="receiveMail" value="yes" />

下面我以handsome主题作为例子:
IMG_0301.PNG
选中第二个文件夹,找到comments.php
IMG_0302.PNG
定位到下图所示位置:
IMG_0285.JPG
在上图主题文件评论框的input下方插入代码即可(任意一个input都行,不过为了方便,可以添加在邮件那行下方),不过每次主题更新后可能需要重新设置。
(请注意:Handsome主题自4.1.x版本开始,增添对本插件的支持,无需再次修改文件!)
IMG_0303.PNG
设置完如上图所示,保存好文件!到这一步,你已经成功了一半。
2.后台启用相关插件
3.设置smtp服务器地址、邮箱地址、密码等信息
4.设置cron监控(如果你觉得麻烦或者不会可以添加网址监控!具体步骤参照步骤5)
监控的网址就是插件设置后台的任务执行地址加上你自己设置的Key(注意,任务执行链接不包含【 】,如:http://baidu.com/index.php/action/comment-to-mail?do=deliverMail&key=123456
IMG_0281.PNG
5.网址监控:在阿里/360网址监控加上你的执行网址就可以发信!在这里我用360网址监控作为演示。(此步骤可代替步骤4)
IMG_0282.PNG
设置好了会显示如下信息:
IMG_0283.PNG
正确设置后,就可以正常发信了。360默认每10分钟触发一次,也就是每10分钟将之前的邮件发送一次的意思。
IMG_0287.PNG

如果你正常设置本插件,但在发信时出现DT:SPM CODE 544错误,你可以到CommentToMail目录下找到Action.php,定位到316行,去除代码的注释。
(此操作仅针对出现错误的用户,如果你发信正常,请不要去除注释!)
IMG_0288.PNG

常见问题

1.Key是邮件任务执行密码,防止他人恶意执行任务消耗资源
2.下方任务执行地址就是说当你访问这个网址时,邮件任务才会执行,为了达到自动发送的效果,我们设置cron或者网址监控,每隔一段时间让远程服务器代替你访问任务执行网址
3.执行验证是用来调试和应对特殊环境,一般不要勾选!
4.可以清理邮件发送信息
5.QQ邮箱smtp密码需要在邮箱网页端获取,具体配置信息可以参考度娘
6.测试普通QQ邮箱可以正常发送,但可能由于腾讯反垃圾邮件逻辑,用户不能正常接受邮件,建议大家使用QQ域名邮箱,如果你没有域名邮箱,可以通过邮件联系我,或者直接在下方留言
7.本插件仅支持typecho1.0及之后版本
8.如果出现 邮件发送失败:SMTP connect() failed. (PHP>=5.6)可以参考这篇博文 https://9sb.org/45

写在最后

1.使用方法非常重要!!!建议您仔细阅读上方说明。
2.希望您使用本插件后,可以在下方评论,让更多的人看见/使用本插件

下载链接

最后修改:2019 年 04 月 04 日 02 : 34 PM
如果觉得我的文章对你有用,请随意赞赏

115 条评论

  1. 森七

    一下就配置好了,真棒的插件

    1. Ricardo.Li
      @森七

      哈哈哈哈ヾ(≧∇≦*)ゝ

  2. badun

    你好请教下 我可以正常接收收发邮件了 请问我访问执行那个key的地址 https://kylin.moe/index.php/action/comment-to-mail?do=deliverMail&key=[yourKey]按照格式 替换了然后访问无法访问返回 {"result":true,"amount":0,"success":{"amount":0,"id":[]},"fail"{"amount":0,"id":[]}} 请问我一定要设置监控才可以吗? 另外 那个美化模板页面是怎么看到的 收到邮件了力只有文字

    1. Ricardo.Li
      @badun

      解决了就好,是一定要有监控的,我本人是宝塔定时任务,最近很忙没怎么看博客的邮件

      1. badun
        @Ricardo.Li

        ok谢谢博主,我一开始没加监控没反应,后来加了阿里云的云监控解决了,宝塔的定时任务还没有尝试过,我现在用的宝塔后台.

    2. badun
      @badun

      执行页面打不开显示 "result":0,"msg":"No permission"} 我用的宝塔 centos7.5 php5.6 阿里云

      1. badun
        @badun

        使用阿里云监控解决了楼主把评论删了吧

  3. 幸运兔脚

    你好博主,我在使用这个插件后发现一些问题:
    当文章被评论后,正常收到了owner.html这个模板的邮件,然后我回复了评论,以guest.html这个为模板的邮件也正常发送,但是当我的评论被回复后,我收到了以guest.html为模板的邮件,我在设置中区分了接收邮件的地址,所以这个情况中我的评论被当成了访客来处理,请问这个问题我该怎么解决?
    系统:
    CentOS 7
    PHP 7.1

    1. Ricardo.Li
      @幸运兔脚

      这个邮件插件一开始最初的设计就是这个样子的,只有第一层直接评论文章才会触发owner.html,其它被评论回复的都是guest.html

  4. 一缕清风

    邮件发送失败:SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

    1. Ricardo.Li
      @一缕清风

      看一下SSL设置,端口等信息

  5. 土豆

    博主大大,QQ的域名邮箱怎么配置SMTP啊?

    1. Ricardo.Li
      @土豆

      smtp地址 smtp.qq.com
      端口 465
      账号是你的QQ邮箱地址,去QQ邮箱的账户设置“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”开启SMTP服务
      底下通过验证生成授权码,那个授权码就是你的邮箱发信密码
      再按教程配置即可

      1. 土豆
        @Ricardo.Li

        多谢 配置好啦,

  6. 逝雪蓝冰

    原来插件下载地址写在最后,谢谢啦!

  7. 个人博客

    你好,我使用此插件无法在360上进行网站检测,都显示异常或出错,这与服务器有关么?我使用的是国外服务器,谢谢

    1. Ricardo.Li
      @个人博客

      可能和360监测的线路有关,你试下直接在服务器上定时任务吧

  8. 小二

    博主大大,我触发任务地址以后,提示{"result":true,"amount":2,"success":{"amount":2,"id":["2","3"]},"fail":{"amount":0,"id":[]}}
    但是根本收不到邮件,连邮件都没发。这是怎么回事呢

    1. Ricardo.Li
      @小二

      重新在设置里关闭有人回复评论邮件通知然后在开启试试

发表评论