新的评论邮件提醒

博客好久没管了,原来的CommentToMail插件也停摆了,懒得去理代码了,直接重新用SendCloud实现了,每天50封的免费额估计我一个月也用不完的,准备空了再弄一个Mailgun的,每月一万的额度,纯折腾

CommentToMail的SAE版的修正

这几天折腾到SAE上来了,有些插件和代码需要修改,零零散散的搞了好几天了,经过几天的使用没有问题了,正式发出来。原来CommentToMail的SAE版,使用了sae的mail类的quickSend(),用网易的邮箱能发,但是腾讯企业邮箱没发,日志说是用户无法验证。quickSend没有发送from项,通不过smtp服务器的用户验证,改用sae的标准发信方式就没问题了。
本来也直接把CommentToMail的1.2.5的标准版搬过来的,在测试的时候完全没问题了,phpmailer可以在sae上发邮件,可是安装到我的博客上完全没法,没错误日志,但是就没发出邮件。同样是SAE的一个测试博客就没问题,真的搞不清原因。

由于是修改版,版本号没变
CommentToMail-sae.zip
或者这里下载

还有几个插件也移植到SAE上了,整理了再发布出来。

CommentToMail 1.2.5 发布

前一版1.2.4问题较多,所以做了修正,没有增加功能。

细节上的变化:

1、取消设置中的邮件主体格式设置,由插件目录下的owner.html和guest.html两个模板实现。以前是放在CommentToMail/log目录下的,现在直接发在插件目录CommentToMail/下。

2、异步请求需要socket支持,自动依次调用fsockopen,pfsockopen,stream_socket_client,当这几个函数均被禁用,本插件就完全无法工作。

3、改变了发信的模式,原来是调用外部文件实现异步发送,现在改用action,权限上好控制一些。

如果要升级插件,需要禁用以前的版本,再上传覆盖后激活使用。

当出现插件无法工作,日志文件也无法生成的情况,请尝试把插件目录下的log和cache目录权限设为777,正常的应该为755

如果错误日志提示为无法连接smtp服务器,而设置又没任何问题的,请把插件目录下的class.phpmailer.php文件中小写的‘smtp’改为大写‘SMTP’ 。这是个很怪异的问题。

如果连错误日志都没有的话,目录权限又没问题,那么就是socket部分没有执行,有可能是fsockopen不能获取http的内容,可以使用phpinfo()查看“Registered PHP Streams”一项里面是否有http。

CommentToMail.1.2.5.zip             使用说明

如果要让评论者选择是否接收邮件需要在模板的comments.php文件中添加

<label><input type="checkbox" name="banmail" id="banmail" value="stop" />拒收邮件</label>

插件:CommentToMail升级1.2.4

因为有些主机禁用了fsockopen函数,有些主机没配置压缩函数,所以做了点改动。在使用socket功能时,依次使用fsockopen、pfsockopen和stream_socket_client,如果三个函数都没法,基本上主机php的socket功能被禁完了。

再一个在生成缓存文件时,原来是压缩后存储的,现在改用带时间限制的加密存储,就算没发送邮件,留下的缓存文件也不会暴露邮箱等信息。

对于SSL应该跟服务器是否配置openssl等ssl功能有关。

在本地测试腾讯邮箱465端口没任何问题,gmail还没测试过。当上服务器就发不出邮件,错误是连接不上smtp服务器,搜了下找到办法,把class.phpmailer.php文件中的:

  public function IsSMTP() {
    $this->Mailer = 'smtp';
  }

小写的smtp改为大写SMTP

  public function IsSMTP() {
    $this->Mailer = 'SMTP';
  }

开始不信这会有差别,结果真的可以。论坛上有重新打包的CommentToMail.1.2.4.zip

下载:华为网盘,注意找:CommentToMail.1.2.4.zip

如果旧版的1.2.3能够顺利使用,不建议升级,有些小问题还有待处理。