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>

Published by 阿飞 on
Tags: typecho, 插件, 邮件, 评论

132 条评论

  1. 游客可以收到通知,但是我却收不到通知,请问这该怎么解决啊?

    1. 没勾上向自己发邮件?或者是个人信息里邮箱没填对。

      1. 还用多说了,typecho自带的回复实在是折腾不起。

  2. Ben Ben

    我是从WP迁过来的,发现有些文章没有作者,然后在这些文章回复评论就收不到评论回复邮件了

    1. 关键要看有邮箱么?文章没有作者也就是作者ID为0,应该会发送到博主的邮箱,也就是博主的个人信息中的邮箱.

      1. Ben Ben

        貌似搞定了,因为以前WP是多作者博客,现在有些用户不见了,ID无对应用户,我新建了一些

  3. 测试一下,顺便问下程序放在新浪Sae上,无法发信的。选上"记录邮件发送日志"选项之后一样是不产生文件。

    1. 9527 9527

      这个有SAE版本发布的,可以自己找找。

  4. 我更新修复了你这个版本的一些BUG,不知道能不能发布出来?

    1. 可以自由发布,没有任何限制

  5. 我下载下来后解压,整个文件夹传到Wordpress插件目录下,没有用呀!插件那显示不出来,用上传的方式也安装失败!

    1. 老大,我的这是typecho的,wordpress肯定用不了的

      1. 这样啊?不是 也有WordPress版的?我看几个博友的都说用的是你这个啊!

  6. 是不是把class.phpmailer.php文件中所有小写的‘smtp’改为大写‘SMTP’

    1. 貌似只有一个地方吧,单引号引起的smtp

      1. he1999 he1999

        用记事本搜索‘smtp’,发现不止一处啊,有好多的‘smtp’的。

        1. he1999 he1999

          搜索了下,有3处‘smtp’

        2. 不改没法用么?如果要改三处都改

  7. 前段时间我的博客由衡天主机搬迁到了恒创主机,CommentToMail 1.2.3就出了问题,我用的是SMTP发信方式,提示无法链接SMTP,于是我就换成了1.2.5版本,问题依旧,于是我按照你的说明把smtp换成大写SMTP,可以发送,但是不是通过我设置的邮箱发送,而是通过主机内设置的一个邮箱代发送的,而且发送的邮件有两个相同的收件人。我试了一下,就是密码端口随便设置,邮件发送也不受影响。这个是怎么回事?

    1. 邮件是由你博客所在的服务器转发的,这个问题我曾经也碰到过,后来又好了,没找到原因。也许跟服务器配置有关,也许和安装新插件时没禁用旧版插件有关。当时我是禁用了所有插件,并把options表里关于插件设置的那项还原到初始状态的,再重新启用插件就没问题了。

  8. he1999 he1999

    你好,下载了几个版本都不可用。插件可以正常激活,fsockopen打开的,但是收不到邮件。插件目录下,log目录没有写入任何文件,cache有一些没有扩展名的文件。

    1. he1999 he1999

      log目录和cache目录的权限是相同的。

    2. he1999 he1999

      检查了allow_url_fopen = On;Sockets Support enabled

    3. 这是个让人头疼的问题,我也还没找到解决办法。缓存文件是与评论同步生成的,而邮件需要触发异步执行脚本发送。在主机功能都满足的条件下,这个问题也许是跟typecho的其他插件或是某些设置有关,我自己都遇到过。你可以先在本地测试,安装尽量少的插件试试。

      1. he1999 he1999

        现在解决了。原因不明,解决方法是(win服务器):把网站放在第四层目录。

        比如赋予IIS权限的是d:\web目录,那么Typecho就放在d:\web\1\2\3\typecho ,然后IIS设置网站主目录为d:\web\1\2\3\typecho。

        我想应该和插件在网站的目录层次是对应的,因为插件在\usr\plugins\CommentToMail\。

        1. 谢谢你提醒了我,一直没注意过目录的问题,应该能解决大问题了。

  9. he1999 he1999

    Registered PHP Streams项为php, file, data, http, ftp, compress

  10. 我的就是不行呢,生成了一次log,重新安装了,就在也不生成log,
    就是发不出邮件!

  11. stream_socket_client我的主机支持这个函数,但是SMTP就发不出邮件来,不知道为何!!

  12. Jr Jr

    发现一个问题,CommentToMail 1.2.3和CommentToMail 1.2.5我那主机都能使用,
    由于最近买了个独立IP,几个版本都不能使用,换成共享IP又可以用
    主机是西数的,服务器在成都,独立IP是在北京,不知道原理是怎么实现的
    每次换成独立IP时,插件发送邮件失败,cache文件夹有生成的文件,无错误日志

    1. Jr Jr

      还有就是发现使用只要是使用PHPMailer来实现发送邮件的,换成独立IP都不得行
      邮件都不能正常发送

      1. 懒得折腾了,等新版出来搞新的,也许已经集成了邮件功能。

    2. 直接用ip访问网站?有缓存意味着是最后异步调用脚本发邮件时出了问题,没访问到正确的异步执行地址。

      1. Jr Jr

        域名换成独立IP插件就不正常工作,换成共享的IP可以的,cache文件夹有生成的文件,测试了一下用域名用独立IP,只要是用PHPMailer来发邮件的都不能正常使用,包挎现在那个数据库备份插件,用其他PHP写一个单独发邮件的测试正常

  13. 我用mail函数发邮件,但是发件人显示是root usr,不能自定义email吗?

    1. 这个要研究下phpmailer,我只用smtp,没用过mail函数。

  14. 我自己的服务器,不能使用该插件,详细解释如下:
    1、三个函数都支持,服务器当前没有禁用任何插件
    2、log和cache目录权限均为777,cache下有内容生成,但是log下始终不生成
    3、phpinfo()查看“Registered PHP Streams”一项里面有http。

    试验过QQ的企业邮箱和GMAIL,情况都如上所述,但是当我选用ajaxcomment的时候,smtp是可以工作的

    请博主帮忙找一下原因

    1. kafei.in/tz.php 是我主机的探针 博主可以查看
      可以排除主机问题,貌似还是权限问题
      ajaxcomment的设置是直接在配置文件里手工添加,倒是可以使用
      刚才换用1.2.3发现 ,在/usr目录下可以生成log文件,打开全是error ,第一步就是hello error

      1. 你的主机应该能够运行的啊,应该是插件设置上的问题。错误日志是啥?

        1. 1.2.3可以生成错误日志,打开显示的第一步就是hello error,下面每一步都是error
          1.2.5 干脆不生成日志

    2. 没有cache和log一般是权限问题,如果有日志文件,一般情况是设置的问题。

  15. 无法发送邮件。无法生成日志。(smtp设置绝对正确试过不下十种邮箱)权限777也不行,连错误日志都没有。

    1. cache和log下没有任何东西,一般都是目录权限的问题。
      有日志而不能发邮件,一般是设置或服务器限制的问题,看错误日志。

      1. 可是没有日志,权限已经设置为777了

        1. cache目录下有东西么?

  16. 探针测试函数都没有禁用

    1. 还用了其他插件么?

  17. 时间错误啊
    22点的邮件他显示为6点的
    VPS上是北京时间

    1. 自动+8小时吗。。。

      1. 是自动获取博客设置里的时区再加上去的,这个在某些场合可能会有点问题。

  18. 试了好几个插件都不行,不知道这个可不可以,我的是wordpress 3.5.1,这个版本貌似大家的插件都不支持啊

    1. 汗,这个插件是Typecho的,不是Wordpress的。

      1. 额...怪不得,不过现在我弄好了,用的wp下的一个插件