今天在使用Typecho插件CommentToMail时,发现我的主机无法发送邮件,报错SMTP connect() failed,使用的阿里云万网虚拟主机,查了下原因,在@胡东东博客里找到了方法,发现万网屏蔽了mail()函数和stream_socket_client函数,还好还可以使用fsockopen函数来发信。

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

$this->smtp_conn = @stream_socket_client(
        $host . ":" . $port,
        $errno,
        $errstr,
        $timeout,
        STREAM_CLIENT_CONNECT,
        $socket_context
       );
  • 添加下面一行:
$this->smtp_conn = fsockopen($host, $port, $errno, $errstr);
  • 保存OK,有些相同问题,也可以试试这个方法。

3817626708.jpg

原文链接:Typecho插件CommentToMail万网虚拟主机无法发送邮件修改

Last modification:February 13th, 2019 at 10:10 pm
如果觉得我的文章对你有用,请随意赞赏