详细解答可以参考官方帮助文档
WordPress程序使用的不是fsockopen函数发信,而是使用stream_socket_client函数发信,如果PHP函数在虚拟主机中被禁用,则会导致发信失败。解决方法如下:
可以通过修改WordPress程序中wp-includes/class-smtp.php文件,找到以下内容部分。
$this->smtp_conn = @stream_socket_client(
$host . ":" . $port,
$errno,
$errstr,
$timeout,
STREAM_CLIENT_CONNECT,
$socket_context
);
用 /** 和*/ 将以上部分注释掉,使用以下内容代替该部分。
$this->smtp_conn = fsockopen($host, $port, $errno, $errstr);
注意:Wordpress4.3.1版本测试已经支持自动检测是否是指stream_socket_client函数,如果不支持会自动去使用fsockopen进行发信,因此4.3.1之后版本不需要在修改此文件,在Wordpress应用中心安装Easy WP SMTP Settings插件,配置好就可以直接发送邮件了。
如问题还未解决,请联系售后技术支持。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。