您的位置 首页 php

2017CommentToMail更新,支持php5.6/7

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文件,把它们用 上的对应的三个php

class.phpmailer.php 开头加上:

require_once 'class.smtp.php';require_once 'class.pop3.php'; 

CommentToMail 用了异步触发,就是访客回复时,插件会自己去访问自己的一个页面,然后被访问的那个页面发信。

异步触发中很多步骤都可能出问题,比如php无法访问到网站本身,或者执行到一半关闭连接时发送邮件的程序被关了。这些问题涉及到具体环境配置

完毕

文章来源:智云一二三科技

文章标题:2017CommentToMail更新,支持php5.6/7

文章地址:https://www.zhihuclub.com/150002.shtml

关于作者: 智云科技

热门文章

网站地图