万网主机WordPress通过fsockopen函数调用SMTP来发送邮件

万网主机的配置和速度还是比较给力的,只不过限制了一部分函数,比如mail()函数。大家会发现就算通过smtp插件都无法发送邮件,那么怎么解决。

万网没有开启 stream_socket_client 函数导致没有办法通过 WordPress 的SMTP 接口发邮件,经过查看了主机的php配置后,发现有个函数选项fsockopen可以选择开启,fsockopen函数可以用来发邮件。

但是WordPress默认调用的是mail()函数来发送邮件,我们需要通过修改wp-includes/class-smtp.php文件来达到我们想要的功能,即通过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);

评论已关闭。