今天一位客户遇到一个很特殊的问题,我们部署在他的阿里云服务器上的PHP网站无法发送邮件。经过反复测试后我们终于找到问题的原因:原来阿里云方面为了防治垃圾邮件,屏蔽了25端口。更改为其他端口后恢复正常。不过这个新的端口,不同的邮箱可能有不同的端口号,以下以QQ邮箱为例,来看下应该如何解决!
首先,我们想到的是函数问题,但是这个属于我们售后技术工作范围,这里不做深究,今天遇到的问题也不是因为函数引起的。我们到QQ邮箱官方的帮助文档中,查询到是否有新的端口号,经过搜索,我们发现,QQ邮箱除了25端口以外,还支持465端口和587端口。接下来,我们只需要将网站中邮件配置对应的端口号进行修改即可。如果这时邮件发送还是不成功,请注意将SMTP服务器地址前添加ssl://协议头。如下图所示:
其他供应商的邮箱,也可以根据这个解决方案处理。另外需要注意的是,QQ邮箱如果开启了授权码,那么,在网站中配置邮箱发送时请优先使用授权码,没有开启,则使用邮箱密码。如果您的邮箱发送依然存在问题,请及时联系创络科技,我们将为您分析邮箱发送日志,以便更快捷的找到问题的所在。