CommentToMail typecho版
Typecho 上使用最广泛的插件是 CommentToMail,最早由 DEFE 开发,后来由 Byends Upd 接手。该插件通过常用的 PHP Mail,SendMail 或者 SMTP 来发送邮件
同时lan tian 制作了基于 Mailgun 云邮API 的 Typecho评论插件分支
下载地址
百度云(无法插入网盘地址,关注公众号 黑客组 下载)
为什么不用github?因为我不是作者,我会通知作者更新到他的github
更新了什么?
博主我的插件用着明明没问题,你更新了啥?
详情可以点击这里 邮件发送失败:SMTP connect() failed. PHP>=5.6
当我们使用QQ邮箱(非企业邮箱)的时候会发现邮件发不出去,修复了此bug
更新了PHP Mailer版本
支持的版本范围
typecho 0.9 1.0 1.1 开发版(2017-6-11)php5.4 5.5 5.6 7.0 7.1
为什么要用加密邮箱发送邮件通知?
正常SMTP协议使用的是25端口,但是由于垃圾邮件泛滥,25端口普遍被拦截,因此才使用465的加密SMTP端口
设置图
465端口
QQ邮箱需要使用授权码而非QQ登录密码
环境BUG
如果你使用这个插件依然不能发送邮件,那么恭喜你,我把坑都踩完了。。
两种情况
1.测试邮件不能发送
smtp端口465 用户名 授权码 ssl加密勾选
邮件是否进入垃圾桶(使用QQ邮箱好处就是不用进垃圾桶,例如100@qq.com这种)
上源码,插件使用fsockopen,pfsockopen,stream_socket_client三种方式发送邮件,检查对应函数是否被禁止
if (function_exists('fsockopen')) {
2.测试邮件能发送,但是回复不能触发
同上,检查函数是否被禁用
更大的可能性,这是环境配置问题
如果你是用的是宝塔面板
,那么宝塔面板的PHP7.0由于编译问题,函数是无效的。。
请换用PHP7.1或5.6即可
细节
我想知道博主你改了什么,我不放心你的插件,我自己改改可以吗
讨论过程
此次插件修改是lan tian全权指挥,简称云修改???(没毛病)
在Action.php
的sendMail()
函数中,在
$mailer->SetFrom($this->_email->from, $this->_email->fromName);
这么一大段后插入:
$mailer->SMTPOptions = array('ssl' => array('verify_peer' => false,'verify_peer_name' => false,'allow_self_signed' => true)
CommentToMail 自带的 PHPMailer
太老了,所以加上参数没用。
CommentToMail 的 lib
文件夹里有三个php文件,把它们用 https://github.com/PHPMailer/PHPMailer 上的对应的三个php
在class.phpmailer.php
开头加上:
require_once 'class.smtp.php';require_once 'class.pop3.php';
CommentToMail 用了异步触发,就是访客回复时,插件会自己去访问自己的一个页面,然后被访问的那个页面发信。
异步触发中很多步骤都可能出问题,比如php无法访问到网站本身,或者执行到一半关闭连接时发送邮件的程序被关了。这些问题涉及到具体环境配置
完毕
本文暂时没有评论,来添加一个吧(●'◡'●)