万网推出了免费虚拟主机使用两年的活动,但是很多人在搭建和网站后遇到了各种各样的问题,其中尤其以smtp邮件无法发送,一直发送失败的问题,现在我就带大家来解决这个问题!

若你还没有万网免费主机虚拟主机,或者和还没有申请,请关注:

万网免费虚拟主机申请与wordpress博客网站搭建教程

目前默认在wp-includes/class-smtp.php使用的建立数据连接的函数是stream_socket_client,安全起见,虚拟主机没有开放stream_socket_client函数,只开通了开通了fsockopen函数,因此如果使用默认方式会导致无法正常发送。
目前可以通过修改wp-includes/class-smtp.php文件,将

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

以上部分注释掉,使用

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

代替该部分。

最终如下图所示:

万网免费虚拟主机wordpress邮件发送失败的解决办法

然后再次发送邮件试试,能否发出了呢?