Loading... <div class="tip share">请注意,本文编写于 1714 天前,最后修改于 455 天前,其中某些信息可能已经过时。</div> CommentToMail作为一款老牌Typecho邮件通知评论的插件,也有很多分支。 <!--more--> <button class="btn m-b-xs btn-info btn-addon" onclick='window.open("https://github.com/uniartisan/CommentToMail","_blank")'><i class="fontello fontello-cogs"></i>Github 项目链接</button> <button class="btn m-b-xs btn-success btn-addon" onclick='window.open("https://github.com/uniartisan/CommentToMail/releases","_blank")'><i class="fontello fontello-cogs"></i>戳此下载插件</button> 在网友的督促下……~~本咕咕时隔11个月再次更新了这款插件~~。 ~~这次的更新内容比较硬核。(2020-03-08)~~ 2020.08.12 顺便做了一个更新检测还有反快速发信屏蔽的时间间隔选项 --- **在反馈任何问题以前,请您认真查看:提问的艺术** <button class="btn m-b-xs btn-info btn-addon" onclick='window.open("https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md","_blank")'><i class="fontello fontello-cogs"></i>How-To-Ask-Questions-The-Smart-Way</button> --- ## 更新日志 **v4.2.5 (2020-03-10)** - 新增连续发送反垃圾策略。 - **这是个正式版本** <div class="panel panel-default collapse-panel box-shadow-wrap-lg"><div class="panel-heading panel-collapse" data-toggle="collapse" data-target="#collapse-8f69dfd323a07b51dfe8f2445edc554a32" aria-expanded="true"><div class="accordion-toggle"><span>旧版本日志</span> <i class="pull-right fontello icon-fw fontello-angle-right"></i> </div> </div> <div class="panel-body collapse-panel-body"> <div id="collapse-8f69dfd323a07b51dfe8f2445edc554a32" class="collapse collapse-content"><p></p> **v4.2.4 (2020-03-09)** - 修复待审核评论通过审核后无法回复邮件的问题。 - 544和忽视用户选择请在设置开启。 **v4.2.3 (2020-03-08)** - SMTP 加入 TLS 支持(目前支持 SSL、TLS) - 更新 PHPMailer 至 6.1.4 (原来为5.x,修复多个漏洞) - 优化之前蹩脚的 544 解决方案 - 代码细节整理 - PHP 支持 5.6/7.x v4.2.2(2019.08.37) > 修复通过邮件审核后未发送邮件的设计疏忽 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.更多细节优化 V4.1.2(2018.04.30) > 修复数据库导入时偶发性的“Database Query Error” (感谢 [权那他][1] 的指正) <p></p></div></div></div> **版权申明** 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][2] 选中第二个文件夹,找到comments.php ![IMG_0302.PNG][3] 定位到下图所示位置: ![IMG_0285.JPG][4] 在上图主题文件评论框的input下方插入代码即可(任意一个input都行,不过为了方便,可以添加在邮件那行下方),不过每次主题更新后可能需要重新设置。 (请注意:Handsome主题自4.1.x版本开始,增添对本插件的支持,无需再次修改文件!) ![IMG_0303.PNG][5] 设置完如上图所示,保存好文件!到这一步,你已经成功了一半。 2.后台启用相关插件 3.设置smtp服务器地址、邮箱地址、密码等信息 4.设置cron监控(如果你觉得麻烦或者不会可以添加网址监控!具体步骤参照步骤5) 监控的网址就是插件设置后台的任务执行地址加上你自己设置的Key(注意,任务执行链接不包含【 】,如:http://baidu.com/index.php/action/comment-to-mail?do=deliverMail&key=123456 ![IMG_0281.PNG][6] 5.网址监控:在阿里/360网址监控加上你的执行网址就可以发信!在这里我用360网址监控作为演示。(此步骤可代替步骤4) ![IMG_0282.PNG][7] 设置好了会显示如下信息: ![IMG_0283.PNG][8] 正确设置后,就可以正常发信了。360默认每10分钟触发一次,也就是每10分钟将之前的邮件发送一次的意思。 ![IMG_0287.PNG][9] 如果你正常设置本插件,但在发信时出现DT:SPM CODE 544错误,你可以到CommentToMail目录下找到Action.php,定位到316行,去除代码的注释。 (此操作仅针对出现错误的用户,如果你发信正常,请不要去除注释!) ![IMG_0288.PNG][10] ## 常见问题 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 ## 写在最后 --- **在反馈任何问题以前,请您认真查看:提问的艺术** <button class="btn m-b-xs btn-info btn-addon" onclick='window.open("https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md","_blank")'><i class="fontello fontello-cogs"></i>How-To-Ask-Questions-The-Smart-Way</button> --- [1]: https://krait.cn/ [2]: https://blog.uniartisan.com/usr/uploads/2017/10/3483950311.png [3]: https://blog.uniartisan.com/usr/uploads/2017/10/1923621872.png [4]: https://blog.uniartisan.com/usr/uploads/2017/10/4292525936.jpg [5]: https://blog.uniartisan.com/usr/uploads/2017/10/2980327494.png [6]: https://blog.uniartisan.com/usr/uploads/2017/10/2199260941.png [7]: https://blog.uniartisan.com/usr/uploads/2017/10/2123489929.png [8]: https://blog.uniartisan.com/usr/uploads/2017/10/3967795832.png [9]: https://blog.uniartisan.com/usr/uploads/2017/10/1972513749.png [10]: https://blog.uniartisan.com/usr/uploads/2017/12/2407010643.png Last modification:February 18, 2021 © Allow specification reprint Support Appreciate the author AliPayWeChat 赞 0 If you think my article is useful to you, please feel free to appreciate
195 comments
可以使用Outlook邮箱吗?
感谢大神继续开发维护插件,这个方法虽然复杂了点,也不失为一个好的解决方案!!
:) 建议收到了,在下个大版本会简化操作同时改进说明文档
您好,同时发送是正常的,每次运行会发送这段时间积攒的所有邮件通知,具体表现为会向多个评论用户发送。 SMTP connect() failed. 是一个表象错误通知,实际可能是编译的PHP不支持某些函数。
刚刚没表达清楚,我说的“经常同时发出2-3封信的情况”,是相同的邮件2-3封,也就是重复发信了。
您好 我的版本是 版本 1.2 (18.10.23) PHP7.4,由于个人学业问题暂时没有时间解决这样的问题,你可以看一下phpinfo,把详细的环境post在下方,我争取在最近几个月抽时间看。
好的,那就太好了 :)
宝~可以考虑增加一些功能吗?
评论审核通知哇啥的。
我最近在准备考研,会在考研的间隙(休息的时候)适当review代码,做一些修正,也许会增加功能。(我老鸽子了,但更大的概率还是摸鱼instead of coding :)
Σ(っ °Д °;)っ欸,你也考研吗,哈哈哈哈我也正在准备中....o(////▽////)q 自己不太想去看代码,于是就提了个哈哈哈哈
~计划中是改进简化步骤,同时增加一个在线/本地双版本的垃圾评论审核模型。 愿意等的话ddl是明年三月hhh
ヾ(≧∇≦*)ゝ感谢~
4.2.9 - 设置 - 插件CommentToMail的配置信息没有找到 - 500错误
我的版本是 typecho 1.2 (18.10.23) PHP7.4,不知道您的版本信息。可以把phpinfo贴在下方看一下。
感觉4,5步可以写的更简单点,原理就是访问插件添加的路由,然后执行发送邮件.不管是用命令行还是浏览器都行,我测试的时候是浏览器直接上的.
有宝塔的话可以直接搞个定时任务,内容写一行
curl -k "https://example.com/action/comment-to-mail?do=deliverMail&key=114514" >> ./log.txt
就勉强能用了.没面板命令行添加一个定时任务也行,脚本内容是一样的,百度很好找.如果流量小我觉得写在js里也没什么问题(
是滴 直接curl就好 写个sh然后crontab也好的。我下个月抽时间改一改。
你说的第4点设置cron监控,具体要怎么设置有教程吗?第5点的网址监控,现在都没有免费的了,想用第4点的设置cron监控。
如果有bt面板的话直接定时任务访问网站,cron的话你写一个sh脚本curl网址,在可以运行这个脚本的前提下,设置在crontab设置每分钟运行。
php版本是7.3 + SQLlite3.
邮件发送测试的时候功能倒很正常可以收到邮件.
但是发评论测试的时候又收不到邮件了.
数据库翻了下表"typecho_mail"发现sent一列内容全都是0但LOG全都是NULL...
实在搞不懂是啥问题了.
不知道是主题的影响还是代码插入位置会有影响?
我感觉是主题的影响,可能没有拿到评论数据。您可以先试试按我说的地方插入看看。
作者大大,为什么我这个访客评论我可以收到,我回复访客他收不到邮件。是什么原因呢?
麻烦您看看插入选择框这一步哈:
或者其他设置里勾选 “ 强制忽略用户选择,解决回复审核后评论无通知。”OωO
好的,我再试试