来自我的折腾——CommentToMail插件遇到的“坑”

代码高亮有问题,如果出现代码错位,样式不显示等情况,请F5刷新页面。

之前用的wordpress里有很多关于评论邮件通知的插件。现在转到typecho之后发现实现这个功能对我来说太难了,但是,有句话怎么说的来着,世上无难事只怕有心人。

下面注意!这是我尝试了N多次之后可以使用才发上来的tips

说明:本人使用的阿里云的独享虚拟主机,typecho版本是1.2(18.1.29)PHP版本5.6,腾讯的邮箱。切记不要生搬硬套。

开始!

首先,先下载插件CommentToMail-2.1.0.zip。然后FTP上传到你网站usr/plugins目录,切记文件名必须改成CommentToMail。

然后在typecho后台启用、设置插件,填写相应的smtp服务器地址、邮箱地址、密码等信息.

博主使用的是QQ邮箱,可以通过设置-账户-开启smtp。插件设置请将ssl加密打勾.
SMTP服务器地址:smtp.qq.com
SMTP端口:465
SMTP用户:邮箱账户
SMTP密码:开启smtp时获取的授权码

配置成功之后,如果可以使用的话,就不用再往下看了。

有很多朋友,包括我,在插件配置成功之后还是不能正常发件,可以按照下面这个方法进行尝试。在这里感谢胡东东博客

打开插件目录,lib文件夹下有一个class.smtp.php文件。

找到文件中第211-218行,将其屏蔽。(stream_socket_cliet的行位置,位置可能不同)

$socket_context = stream_context_create($options);
        Suppress errors; connection failures are handled at a higher level
        $this->smtp_conn = @stream_socket_client(
            $host . ":" . $port,
            $errno,
            $errstr,
            $timeout,
            STREAM_CLIENT_CONNECT,
            $socket_context
        );

在下添加一行代码,如下:       

$this->smtp_conn = fsockopen($host, $port, $errno, $errstr);

修改完成后如下图:

1560758086414703.jpg

OK,大功告成。

Last modification:June 21st, 2019 at 04:58 pm
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment