解决虚拟主机发信设置中“SMTP connect() failed”的错误

今天早晨在测试插件的时分需求发送邮件,忽然发现本人网站的邮件发送效劳报错,详细报错内容如下:

object(WP_Error)#7623 (2) { ["errors"]=> array(1) { ["wp_mail_failed"]=> array(1) { [0]=> string(82) "SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting" } } ["error_data"]=> array(1) { ["wp_mail_failed"]=> array(6) { ["to"]=> array(1) { [0]=> string(17) "2220379479@qq.com" } ["subject"]=> string(4) "test" ["message"]=> string(4) "test" ["headers"]=> array(0) { } ["attachments"]=> array(0) { } ["phpmailer_exception_code"]=> int(2) } } }

目前站点所运用得到是阿里云的独享虚拟主机,由于国内虚拟主机大多禁用了 mail() 函数,之前不断运用 WP Mail SMTP 配置wp_mail()函数用SMTP发送邮件的,而且之前不断发送正常。最近两天开端运用我爱水煮鱼 WPJAM Basic 插件的发信设置功用来完成邮件的发送,就想是不是插件的问题,停用了 WPJAM Basic 重新启用 WP Mail SMTP 还是失败,疑心是不是最近几天测试插件、删减数据表等的缘由,停用一切插件,改换主题,恢复数据表,重新配置邮件SMTP效劳密码……一点点的排查发现都不是。

图片[1]-解决虚拟主机发信设置中“SMTP connect() failed”的错误-孤勇者社区

无法只能去网上搜索答案,但是网上的答案都大同小异,没有什么实践的处理计划,只能本人再渐渐想方法了,登录阿里云后台,忽然想起来之前修正过PHP的版本,是不是PHP版本的问题?将后台的一切PHP版本切换了一遍逐个测试发现都不行,测试的过程中忽然想起来之前改换PHP版本的时分把 php.ini 的参数修正了一下,查看 php.ini 参数设置,大哭,霎时明白了,本人把 fsockopen 函数禁用了,重新启用,再次测试邮件发送设置,一切正常。

最后奉上 fsockopen 的一些学问点以供学习了解:

fsockopen用于翻开网络的 Socket 链接。而Socket 是用于树立网络通讯衔接的一对端口号。socket实质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口。

fsockopen语法:

int fsockopen(string hostname, int port, int [errno], string [errstr], int [timeout]);

hostname:主机称号;port:端口号;errno:错误号的承受变量;errstr:错误提示的承受变量;timeout:超时时间。

Socket函数原型:

int socket(int domain, int type, int protocol);

domain:协议域,又称协议族;type:指定Socket类型;protocol:指定协议。

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞7赞赏 分享
评论 共2条
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片
    • 头像卡时0
    • 头像及时0