原理:虚拟主机linux系统都是默认不支持mail函数和stmp的方式发信的,主机仅仅支持的发信方式是fsockopen
必须的
操作
:控制面板开启主机的fsockopen
登录万网用户中心--我的主机--> 管理--进入控制面板--站点信息--高级环境设置--php.ini设置--PHP函数fsockopen设置(启用即可)
由于目前wordpress默认在wp-includes/class-smtp.php使用的建立数据连接的函数是stream_socket_client,因为安全原因,虚拟主机目前只开通了fsockopen函数,因此如果使用默认方式会导致无法正常发送,但是虚拟主机服务器没有开放stream_socket_client函数导致,目前该函数在虚拟主机端因为安全原因是禁止使用的,而该组件调用了该函数产生此错误。
目前可以通过修改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);代替该部分,
如图:
2、安装mail插件
2.1 登录到你的wordpress后台,点击安装插件
2.2 搜索 WP-Mail-SMTP 插件 并且点击安装
2.3 启用当前插件
2.4 点击 设置->Email
2.5 设置你的邮箱地址、密码。 端口号默认不要改。其他的按照配置里的选项自己勾选
2.6 设置好可以发一封邮件自己收着看看。最好发给自己的QQ邮箱,刚点按钮2秒钟,QQ邮箱就收到邮件了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。