我使用的阿里云虚拟主机,发现Typecho插件CommentToMail用3种发信方式,不管哪一种发送邮件总是失败

从网上了解到:阿里云虚拟主机屏蔽了mail()函数和stream_socket_client()函数,但是可以使用使用fsockopen函数来发信
链接:阿里云虚拟主机PHP程序使用fsockopen方式发信代码样例

解决方法

1.打开插件目录中lib目录下class.smtp.php文件。
2.找到第 211行~218行,将其屏蔽(stream_socket_client 的行位置,可能有所不同)

       /*$this->smtp_conn = @stream_socket_client(
           $host . ":" . $port,
           $errno,
           $errstr,
           $timeout,
           STREAM_CLIENT_CONNECT,
           $socket_context
       );*/

3.在下面添加一行:

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

4.将插件设置里的发件方式改为smtp(默认)即可

支付宝红包

支付宝

微信

标签: none

已有 2 条评论

  1. 点儿 点儿 访客 Safari Iphone 回复

    现在还能用吗?

    1. MoeShin MoeShin 博主 Chrome Windows 10 回复

      回复 @点儿

      现在没用虚拟主机了,不清楚

添加新评论

注意:已开启评论过滤器,无中文无法评论!
泡泡表情