万网的虚拟主机默认禁用了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的问题