项目介绍
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邮件配置
常见问题
⭕️ 1. PHPMailerPHPMailerException: SMTP connect() failed.
SMTP连接失败,请检查配置项
- 检查邮箱配置: SMTP服务器地址 用户名 密码 端口是否正确
- 检查运行环境:
php
版本是否符合要求 或openssl
扩展是否开启
⭕️ 2. 如配置项正确, 还是无法发信
服务器安全组策略把端口(465, 587)禁用了, 在服务器管理后台开启即可
- 阿里云: 控制台->云服务器->实例->安全组设 可以参考:什么是安全组? TCP 25端口解封申请
- 腾讯云: 端口与安全组文档
联系作者
Email:i@hoehub.com
大兄弟 插件测试可以正常发送 但是勾选了日志没有生成log.txt 什么原因啊 PHP代码也搞不懂。😂
可能是没有写入权限
已经搞定了,插件很耐用 。😂😂😂
😀感谢支持
测试发信报错,一直请稍等,腾讯企业邮箱,换成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"
我也不清楚这是什么问题, 查了一下说是
nginx
与php-fpm
间的通信出现了问题,通常是php-fpm
由于超时等原因终止导致nginx
未收到有效回应。你可以尝试调整你的php
配置。大佬。。。我换了Apache 2.4.46还是有问题。。。我都蒙了。。。能加微信帮忙看一下是哪里的问题吗 ?
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}失败,请检查配置项~
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:
保存设置
检查邮箱账号密码端口配置,SMTP连接失败了
都重新设置了,还是不行,测试一直在请稍等,快半个小时了,没变化了。。。
好的,谢谢指导。
在提供一个样式吧!效果图如下:
记得添加下面代码
这里是样式
请问一下,这个要如何使用呀
研究了一下折腾好了,感谢大佬分享
已经成功了,确实是配置授权码错了,重新设置就好了😁
值得注意的是,邮箱密码不是QQ密码,很多人都搞错了
博主有个问题,想请教一下,就是咱们这个插件怎么更改邮件发送模板阿?
这是简单修改的评论样式,一样是简洁的~
这个添加在哪里呢
修改插件334-368Plugin.php 行邮件通知样式〜!
👍动手能力强
哈哈
就是 不懂怎么添加查询原本评论 就是
您好,您在<xxx文本>一文中发表的评论
测试评论
被 秩秩斯干作 了如下回复
回复测试
这样的 ~!~
如果动手能力强点 可以修改插件
Plugin.php
334 - 368 行 邮件通知样式~!暂不支持更改模板😅
最近不知道怎么回事,以前LOVEKK的smtp还能使用QQ邮箱,换126也不行;发现你的插件可以用126,但用QQ邮箱还是不行。不知是否被QQ限制了?
我用的就是QQ邮箱,一定是你的邮箱配置有问题
失败,请检查配置项~
0 /home/jrdzjcc/domains/lai.ge/public_html/usr/plugins/Comment2Mail/PHPMailer/src/PHPMailer.php(1513): PHPMailerPHPMailerPHPMailer->smtpSend('Date: Fri, 19 F...', '5rWL6K+Vrn')1 /home/jrdzjcc/domains/lai.ge/public_html/usr/plugins/Comment2Mail/PHPMailer/src/PHPMailer.php(1352): PHPMailerPHPMailerPHPMailer->postSend()2 /home/jrdzjcc/domains/lai.ge/public_html/usr/plugins/Comment2Mail/Action.php(62): PHPMailerPHPMailerPHPMailer->send()3 /home/jrdzjcc/domains/lai.ge/public_html/var/Typecho/Router.php(138): Comment2Mail_Action->action()4 /home/jrdzjcc/domains/lai.ge/public_html/index.php(23): Typecho_Router::dispatch()5 {main}exception 'PHPMailerPHPMailerException' with message 'SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting' in /home/jrdzjcc/domains/lai.ge/public_html/usr/plugins/Comment2Mail/PHPMailer/src/PHPMailer.php:1758
Stack trace:
按照教程配置的QQ邮箱,出现这代码。啥意思呢?
博主,我用这个插件之前用qq邮箱还有用,现在改新浪邮箱,插件测试邮件可以收到,但是评论区没法发送和接受,不知是什么原因引起的
试试把记录日志选项取消,可能是插件没有权限写入文件,导致报错
没有开记录日志 好奇怪,我把博客迁移到本地测试是可以收发的,但是服务器上不行,防火墙关了也一样,云服务器是windows2012,软件用的是phpstudy,web用的是apache
用了大佬的插件 过来道个谢👍
感谢支持
exception 'PHPMailerPHPMailerException' with message 'SMTP Error: Could not authenticate.' in /www/wwwroot/192.168.50.130/usr/plugins/Comment2Mail/PHPMailer/src/PHPMailer.php:1943
0 /www/wwwroot/192.168.50.130/usr/plugins/Comment2Mail/PHPMailer/src/PHPMailer.php(1757): PHPMailerPHPMailerPHPMailer->smtpConnect(Array)1 /www/wwwroot/192.168.50.130/usr/plugins/Comment2Mail/PHPMailer/src/PHPMailer.php(1513): PHPMailerPHPMailerPHPMailer->smtpSend('Date: Mon, 19 O...', '5rWL6K+Vrn')2 /www/wwwroot/192.168.50.130/usr/plugins/Comment2Mail/PHPMailer/src/PHPMailer.php(1352): PHPMailerPHPMailerPHPMailer->postSend()3 /www/wwwroot/192.168.50.130/usr/plugins/Comment2Mail/Action.php(62): PHPMailerPHPMailerPHPMailer->send()4 /www/wwwroot/192.168.50.130/var/Typecho/Router.php(138): Comment2Mail_Action->action()5 /www/wwwroot/192.168.50.130/index.php(23): Typecho_Router::dispatch()6 {main}Stack trace:
给使用邮件插件遇到以上错误代码的一个提示,以上错误代码基本上是账户密码错误,密码登陆项是smtp密码,不是邮箱密码,最后感谢作者大佬热心无私的微信指导帮助!
QQ
邮箱比较特殊,它有独立的SMTP
密码。大佬好
0 C:wwwrootusrpluginsComment2MailPHPMailersrcPHPMailer.php(1757): PHPMailerPHPMailerPHPMailer->smtpConnect(Array)1 C:wwwrootusrpluginsComment2MailPHPMailersrcPHPMailer.php(1513): PHPMailerPHPMailerPHPMailer->smtpSend('Date: Wed, 14 O...', '5rWL6K+Vrn')2 C:wwwrootusrpluginsComment2MailPHPMailersrcPHPMailer.php(1352): PHPMailerPHPMailerPHPMailer->postSend()3 C:wwwrootusrpluginsComment2MailAction.php(62): PHPMailerPHPMailerPHPMailer->send()4 C:wwwrootvarTypechoRouter.php(138): Comment2Mail_Action->action()5 C:wwwrootindex.php(23): Typecho_Router::dispatch()6 {main}用的腾讯企业邮箱,一直都是验证不通过的,用QQ的就可以
PHPMailerPHPMailerException: SMTP Error: Could not authenticate. in C:wwwrootusrpluginsComment2MailPHPMailersrcPHPMailer.php:1943
Stack trace:
用的是客户端密码,找不到究竟是什么原因
谢谢大佬,腾讯企业邮箱是smtp.exmail.qq.com我看漏了exmail,搞得我一直看文档找不到原因。
另外,这个能不能专门设置一个邮箱用来发信息,比如我插件上挂admin@xxx.xx,我自个用i@xxx.xx(typecho后台个人设置是i@xxx.xx),个人更喜欢这样。
可以看看这个文档腾讯企业邮箱,报错是认证没通过