-----使用技术手段解决问题,坚信注重每一个细节,把熟悉的做到一种极致,一定会有创新出现。-----

网站后台SMTP协议发送邮件,提示“SMTP Error: Could not connect to SMTP host。”

1、服务器:阿里云ECS服务器(618刚买的)
2、网站:企业网站
3、功能:网站-留言,后台通过smtp发送邮件,向我报警
4、SMTP服务器:smtp.163.com
5、SMTP端口有:25、465/994,25可以理解成未加密,465/994理解成SSL加密

问题描述:
SMTP端口一直配的是25端口,本地windows机器测试正常,可以发送邮件。但是上到云上(阿里云),发送邮件提示“SMTP Error: Could not connect to SMTP host。”。

问题分析:
常规思路首先是查找百度的解决方法:
1、说是阿里云屏蔽了25端口,不对外开放了,需要使用465 SSL端口来发送邮件。在安全组加入465端口,邮件依然发送失败,错误依旧
2、php.ini需要开放openssl、socketd,但是宝塔中默认是开着这两个的,这个方法对我没有用
3、向阿里云提交了工单,工程师向我确认了用的只是他们的服务器,并不是他们阿里云的邮箱,他们对问题也是一筹莫展,让我等消息。吐槽吧

解决办法:(我自己发现的)
后来我细细想了一下,发现通过smtp协议是单纯通过服务器向外发送信息(服务器向外网发邮件),只用到了安全组中的出方向,并未用到入方向。平时配置安全组,都是配置的入方向的端口,把出方向给忘记了。配置出方向的465端口,问题解决。

涨知识了。

posted @ 2021-07-03 14:27  ZhuQue  阅读(3220)  评论(0编辑  收藏  举报
多年性能测试、测试管理经验,专注银行、支付、电商行业,倾向于性能、安全、 监控、调优、模型、管理等方向的研究。
使用技术手段解决问题,坚信注重每一个细节,把熟悉的做到一种极致,一定会有创新出现。