Loading... <div class="tip share">请注意,本文编写于 2593 天前,最后修改于 865 天前,其中某些信息可能已经过时。</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> --- **在反馈任何问题以前,请您认真查看:提问的艺术** <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.插件原版本及作者相关信息保留在插件文件的作者信息下方 2.[PHP Mailer](https://github.com/PHPMailer/PHPMailer/) 文件来自于 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监控 监控的网址就是插件设置后台的任务执行地址加上你自己设置的Key(注意,任务执行链接不包含【 】,如:http://baidu.com/index.php/action/comment-to-mail?do=deliverMail&key=123456 将下面的代码设置成每 5 分钟运行一次即可(需要修改成自己的网址),可以使用 crontab 或者使用面板提供的定时任务功能。 ``` curl -k "https://example.com/action/comment-to-mail?do=deliverMail&key=114514" >> ./log.txt ``` ## 常见问题 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 ## 写在最后 --- **在反馈任何问题以前,请您认真查看:提问的艺术** [How-To-Ask-Questions-The-Smart-Way](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md) --- [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:June 3, 2022 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 5 If you think my article is useful to you, please feel free to appreciate
218 comments
第一次搭建域名邮箱,用的阿里云,为什么发不了
测试发件可以收到,评论就收不到
您有按要求插入代码吗? 如果没有请开启强制发信|´・ω・)ノ
建议按照博文排查内容,您可以使用如下方法:
楼主,我这里也有一篇关于Typecho发件的,不过不是你这个插件,你这个插件我用了两天就没发信了,你可以参考下
地址:https://blog.say521.cn/archives/159.html
都设置好了,收不到邮件,不知道怎么回事!
不成功,都设置好了,就是收不到邮件。不知道怎么回事!郁闷
发送邮箱、接受邮箱厂商,测试邮件是否成功。
已经测试,插件无问题。
非常感谢非常感谢
主题里的comments.php没有input标签应该加在哪个位置呢?
定位到评论框的位置。如果您觉得麻烦可以开启忽视用户选择,此选项会禁用校验用户选择。
邮件发送失败:SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
在wordpress中的邮箱插件,使用tls可以发送,但是在这个插件就这样了
能否告知是什么邮件厂商 PHP版本等环境,方便我调试。
office365(exchange online)(我给你的账号没有),php7.4
SMTP connect() failed 并不是插件问题,这种问题几乎总是由本地DNS故障,防火墙阻塞(例如GoDaddy,腾讯云)或本地网络上的其他问题导致。这意味着PHPMailer无法联系您在Host属性中指定的SMTP服务器,但并不确切地说明原因。也可能是由于没有openssl加载扩展程序引起的。请您联系您的服务器供应商开启相应端口,当然也可能是由于防火墙阻断了向境外SMTP服务器的包。
dns是可以的,而且之前wordpress时使用smtp插件是可以的
我这边没有账号测试,按照 最新PHPMailer 手册完成了 tls 的接入,所以应该不是插件的问题。您可以考虑换域名邮箱。