前情提要
今天,我打算在Linux上弄个电子邮件服务端,好用来发送邮件评论通知,还有验证码之类的。安装过程一切正常,邮件也能正常发送、接收。但是当我尝试用PHP通过STMP来实现自动发信时,却出现了以下错误:
PHPMailer\PHPMailer\Exception: SMTP connect() failed.
提示我连不上STMP?那可能是程序有点问题,好吧,那就检查一下。
浅浅地检查了一下后,并没有发现问题。
可能是防火墙没放25口吧。我想

可是,25端口是开放的啊。
那连接一下试试。
果然,用Telnet命令测试,提示连不上;用人家的检测工具检测,也是连不上。

⌇●﹏●⌇
这就离谱了。于是我去搜了一下,在腾讯云官网找到了这个:
为了提升腾讯云 IP 地址发邮件的质量,默认限制云服务器 TCP 25 端口连接外部地址,如果您没有在云上部署邮件服务,该限制不会影响您的服务;如果您需要使用邮件服务,我们诚挚地向您推荐腾讯企业邮箱。如果您一定要使用云主机向外连接 TCP 25 端口,请确保 TCP 25 端口仅用来连接第三方 SMTP 服务器,从第三方 SMTP 服务器外发邮件。如发现您使用云主机直接 SMTP 发送邮件,腾讯云有权永久封禁 TCP 25 端口,并不再提供相关服务。
简单来说,就是官方封了25端口,想用得要申请。且申请后25端口只能用来连其它服务商的STMP服务器,否则就会遭到封禁。
不止是腾讯云,阿里云等大厂也封了25端口。
离谱!!!# 
解决方法
保险起见,我们就按照人家规定的来吧!
邮件转发服务算得上是比较靠谱的。邮件通过邮件转发服务器发送到收件人邮件服务器。转发服务器起到了代理作用。(发送者邮箱不会变)
其它。。。好像也没什么好办法了。但也可以去注册个企业邮箱,只不过STMP,POP3之类的功能要收费。
本人水平有限。要是大佬们有更好的办法,欢迎评论留言。谢谢啦。