万网的主机貌似都需要通过 SMTP 来发送邮件,而且要开启 fsockopen(在万网后台可以开启,不会的请联系万网客服) 。但是 WordPress 的 SMTP 发送方式为 steam_connect_client 而非fsockopen,所以,打开 /wp-include/class-smtp.php 大概是 274-282 行的位置,查找到下面的代码:
$socket_context
=
stream_context_create
(
$options
)
;
$this -> smtp_conn = @ stream_socket_client (
$host . ":" . $port ,
$errno ,
$errstr ,
$timeout ,
STREAM_CLIENT_CONNECT ,
$socket_context
) ;
$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
)
;
然后使用 WP SMTP 或 WP MAIL SMTP 这类 SMTP 发送邮件的插件,配置好一般就可以了。
特别注意:由于这个方法是直接修改了 WordPress 的核心代码,一旦升级了 WordPress 版本,就需要重新进行修改,请务必记得!!!