万网的虚拟主机默认禁用了PHP的mail()函数,没法直接推送邮件,那么就只能使用SMTP的方式来推送邮件,但是由于stream_socket_client函数也被禁用了,就只能使用fsockopen()来推送邮件了。
fsockopen()函数默认是被关闭的,在 主机列表 -> 主机 -> 管理 -> 站点信息 -> 高级环境设置 -> PHP.ini设置 -> PHP函数设置 -> PHP函数fsockopen设置 -> 启用 -> 保存设置 即可启用fsockopen()函数
打开class.smtp.php文件,大约在210行左右,connect($host, $port, $timeout, $options)函数里面,注释掉
/*
$this->smtp_conn = @stream_socket_client(
$host . ":" . $port,
$errno,
$errstr,
$timeout,
STREAM_CLIENT_CONNECT,
$socket_context
);
*/
接着在下面添加
$this->smtp_conn = fsockopen(
$host,
$port,
$errno,
$errstr,
$timeout
);
保存退出
这样就解决了万网虚拟主机没法使用SMTP的问题