在使用Typecho插件CommentToMail万网虚拟主机无法发送邮件修改,报错SMTP connect() failed,使用的万网虚拟主机,发现Typecho插件CommentToMail设置后发送邮件老是失败,查了下原因,发现万网屏蔽了mail()函数和stream_socket_client函数,还好万网还可以开启PHP.INI设置,使用fsockopen函数来发信。
打开插件目录中lib目录下,class.smtp.php文件。
找到第 211行~218行,将其屏蔽。(stream_socket_client 的行位置,可能有所不同)
$this->smtp_conn = @stream_socket_client(
$host . ":" . $port,
$errno,
$errstr,
$timeout,
STREAM_CLIENT_CONNECT,
$socket_context
);
添加下面一行:
$this->smtp_conn = fsockopen($host, $port, $errno, $errstr);