解决万网主机下 WordPress 无法发送邮件的问题

不少朋友一直都在问万网主机下 WordPress 无法发送邮件,其实在WordPress大学的问答中心, Jerry8yuan 给出了解决方案,下面简单整理一下,方便后面的朋友。

万网的主机貌似都需要通过 SMTP 来发送邮件,而且要开启 fsockopen(在万网后台可以开启,不会的请联系万网客服) 。但是 WordPress 的 SMTP 发送方式为 steam_connect_client 而非fsockopen,所以,打开 /wp-include/class-smtp.php 大概是 274-282 行的位置,查找到下面的代码:

1
2
3
4
5
6
7
8
9
$socket_context = stream_context_create($options);
$this->smtp_conn = @stream_socket_client(
$host . ":" . $port,
$errno,
$errstr,
$timeout,
STREAM_CLIENT_CONNECT,
$socket_context
);

$socket_context = stream_context_create($options);
$this->smtp_conn = @stream_socket_client(
$host . ":" . $port,
$errno,
$errstr,
$timeout,
STREAM_CLIENT_CONNECT,
$socket_context
);

修改为如下代码:

1
$this->smtp_conn = @fsockopen($host,$port,$errno,$errstr,$timeout);

$this->smtp_conn = @fsockopen($host,$port,$errno,$errstr,$timeout);

然后使用 WP SMTP 或 WP MAIL SMTP 这类 SMTP 发送邮件的插件,配置好一般就可以了。

特别注意:由于这个方法是直接修改了 WordPress 的核心代码,一旦升级了 WordPress 版本,就需要重新进行修改,请务必记得!!!

本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸载,精通CSS、JavaScript、PHP、ASP、C、C++、C#、Java、Ruby、Perl、Lisp、Python、Objective-C、ActionScript、Pascal等单词的拼写,熟悉Windows、Linux、OS X、Android、iOS、WP8等系统的开关机。

通过下面的方式来联系我们:

电邮:138762189@qq.com

联系QQ:点击这里给我发消息

官方站:www.tadke.com

※ ※ 联系请加我的企鹅号 ※※

※ ※技术支持请微信联系站长 ※※

Copyright © 2023 Tadke.com. 琼ICP备20000547号