阿里云、腾讯云封锁25端口发送不了邮件该如何解决

近两年国内各大云服务器厂商如阿里云、腾讯云、各种云纷纷加入了对25端口的封杀行列,最主要也是最重要的原因就是为了防堵垃圾邮件的发送。

电子邮件SMTP的协议标准本身就是非常脆弱的,协议的制定者在当时相对单纯的网络环境下制定了单纯的SMTP协议,其中最大的缺陷就是SMTP协议是开放性的,发信域和收信域之间缺乏认证机制

认证机制的缺乏导致了SMTP协议是包容的,当然也就包括了垃圾邮件。

    就SMTP协议层面来说,垃圾邮件发送者只需要租用一台服务器,就可以使用任意域名任意发送垃圾邮件,这也就导致了电子邮件的世界垃圾邮件遍地。

为了解决这个问题不至于成为垃圾邮件发送者的帮凶,国内各大服务器厂商都开始封锁25端口,限制邮件的外发能力,并建议使用者使用465端口来代替25端口发送邮件

那么465端口真的能发送邮件吗,答案是能也不能,看使用者如何去理解。

    这里有一个误区,许多不了解SMTP和电子邮件实现原理的人会误以为直接用465代替25端口就能实现邮件的最终发送,这是错误的。

为了说明问题,需要普及一点,一封email邮件的传递,从发件人发出到最终进入收件人的邮箱,是多方接力完成的,以下是邮件以此流转的简化过程:

1、发件人Foxmail/Outlook客户端    ====> 发信服务器(25端口或其他任意端口)
2、发件人所在发信服务器 ====> 收信服务器(25端口)

 

    可以看到,一封邮件首先由Foxmail或Outlook客户端生成,然后进入第二步发件人邮箱服务器,使用25端口或其他任意端口都可以,邮件到这里并没有真正投递成功,你可以想象成寄快递,到目前为止你只是将包裹交给了快递公司,由快递公司负责将包裹投递给收件人。

    发件人所在发信服务器收到邮件后,会查询收件人域名的MX记录解析到对应的收件IP,并将邮件投递到该IP地址的25端口,这一步的25端口是固定的雷打不动,SMTP协议就是这么规定的,除非你和收件方有特别的约定使用私有端口,否则你一定要连接大家约定俗成的25端口才可能将邮件真正投递出去。

    以往25端口没有被封锁的年代,随便租用一台vps主机即可往外疯狂发送垃圾邮件,导致服务器主机商被人投诉不堪其扰,后来索性就一概将25端口封锁,宁可错杀不可错放

    阿里云、腾讯云封锁25端口就是为了限制用户在邮件发送这一过程中扮演邮件最终投递者的角色。但如果你确实有正常邮件需要发送怎么办?厂商告诉你:OK,你不能直接使用25端口发送,请使用465或其他端口,将邮件交由第三方系统发送。即你可以寄快递,但请交给快递公司,让他们来寄送。如果你想做快递公司自己寄送,那么不欢迎你。

    那么还有一个问题,如果你没有第三方系统怎么办?可以试试RelayPOD邮件中继服务