配置正确后,邮箱插件还是不能发送邮件,可参考以下:
有的空间主机不支持mail函数,要通过Smtp发送邮件,要开启 Fsockopen 。但Wp的SMTP发送方式为steam_connect_client而非fsockopen,下面来讲讲解决方法:
此路径打开/wp-include/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);
阿里虚拟主机不能发送邮件解决方法:
- 阿里云虚拟主机管理-主机信息-PHP.ini设置;开启PHP函数fsockopen设置;
- 修改class-smtp.php文件,文件位于网站根目录/wp-includes/class-smtp.php;
- Ctrl+F查找:$socket_context = stream_context_create($options);第285行;
$socket_context = stream_context_create($options);
set_error_handler(array($this, 'errorHandler'));
$this->smtp_conn = stream_socket_client(
$host . ":" . $port,
$errno,
$errstr,
$timeout,
STREAM_CLIENT_CONNECT,
$socket_context
);
4.以上代码替换成以下代码:
$this->smtp_conn = @fsockopen($host,$port,$errno,$errstr,$timeout);
5.最后需要在SMTP设置好即可.
感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
暂无评论内容