万网的主机通常为了安全考虑,禁用了stream_socket_client函数。而worpdress里用smtp发邮件的话刚好是用这个函数,具体在这个文件:
wp-includes/class-smtp.php
$this->smtp_conn = @stream_socket_client( $host . ":" . $port, $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $socket_context )
只好改为函数fsockopen才能正常使用smtp。
$this->smtp_conn = @fsockopen($host,$port,$errno,$errstr,$timeout);
不过,fsockopen也需要登录万网的控制面板去开启才行。
相当麻烦的。如果用smtp发邮件,参考都确认正确的情况,还一直有报错,就极有可能是以上的原因了。
SMTP -> ERROR: Failed to connect to server: (0)