辣鸡阿里云:关于ECS服务器无法发送邮件的原因及解决办法

本来阿里云用的还是挺愉快的,但是今天的这件事让我彻底转变了看法:辣鸡阿里云!

事情是这个样子的,我搭建了一个 WordPress 网站,使用阿里云的 ECS 服务器。这个网站是一个购物网站,那么自然就要有注册用户,注册用户就要发送验证邮件,于是我就开始了我的邮件服务器工程。

首先我想到的是自己搭建一个服务器,使用 Postfix,然而搭建好之后无论如何都发送不出去邮件,显示的是 SMTP 连接超时。上网寻找解决方案,包括反复地检查 Postfix 的配置、检查 iptables 配置、检查阿里云安全组策略(网上有人提到了这个设置,但在这里这并不是关键),尝试后均无果而终,一下午就这样过去了。

然后我决定使用第三方的 SMTP 服务器发邮件,既然我自己搭不起来我就用别人的嘛。但是同样,超时,发不出去,继续搜索解决方案。就在这时,我看到论坛里有人提到遇到这种问题推荐阅读一片标题名字大概是《阿里云无法发送邮件的解决方案的文章》。虽然这个帖子里的链接已经失效了,但我已经发现了解决思路,那就是阿里云有问题

查阅《云平台安全规则》,我发现里面有这样一条:

3、未经阿里云授权报备,不得将云产品用作邮箱服务器或用于连接第三方邮箱服务器。

啊哈,这就是原因了,辣鸡阿里云。具体分析之后发现,阿里云过滤了所有目标地址端口是 SMTP 端口也就是 25 端口的包,并不是封锁了你的出口,所以你更改你自己 Postfix 的出口端口应该是没什么作用的,所以直接设置的第三方 SMTP 也是用不了的。

那么怎么解决呢?也很简单,使用 SSL 登陆第三方 SMTP 服务器即可。具体怎么设置取决于你自己用的什么软件了。

最后总结,辣鸡阿里云!一个网站要发送几封验证邮件和提醒邮件是多么正常且正当的需求,这你都封锁。本地不让搭就算了,第三方还不让用,搞什么啊。不推荐使用阿里云,以上。

发表评论