WordPress中使用fsockopen实现SMTP发信功能
由于部分主机(如万网)没有开启 stream_socket_client
函数导致没有办法通过 WordPress 的 SMTP
接口发邮件,而一般主机是开放 fsockopen
函数的,所以通过修改代码文件解决这个问题。
WordPress 没有提供钩子可以修改,只能直接修改代码了。
将 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);
完毕。