整合Typecho评论邮件提醒加上微信推送

整理博客的时候发现邮件不会发送了,检查了一下是启用了Comment2Wechat 微信推送插件之后出现的,然后这个插件还有一个缺点就是自己评论的也会推送,so整合一下把两个插件合二为一

首先修改配置接口

/plugins/CommentToMail/Plugin.php

1
$form->addInput($titleForGuest->addRule('required', _t('访客接收邮件标题 不能为空')));

下面加入

1
2
3
$key = new Typecho_Widget_Helper_Form_Element_Text('sckey', NULL, NULL, _t('SCKEY'), _t('SCKEY 需要在 <a href="http://sc.ftqq.com/">Server酱</a> 注册<br />
同时,注册后需要在 <a href="http://sc.ftqq.com/">Server酱</a> 绑定你的微信号才能收到推送'));
$form->addInput($key);

然后在
/plugins/CommentToMail/Action.php

1
$this->authorMail()->sendMail();

上一行插入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//向博主发推送
$sckey = $this->_cfg->sckey;
if(!empty($sckey)){
$text = "有人在您的博客发表了评论";
$desp = "**".$this->_email->author."** 在 [「".$this->_email->title."」](".$this->_email->permalink." \"".$this->_email->title."\") 中说到: \n\n > ".$this->_email->text;
$postdata = http_build_query(array('text' => $text,'desp' => $desp));
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$context = stream_context_create($opts);
$result = file_get_contents('http://sc.ftqq.com/'.$sckey.'.send', false, $context);
}

搞定

博主目前使用的邮件发送插件版本为
CommentToMail 2.0.0 by Byends Upd