国内的服务器一直在使用阿里云的,没有办法目前的情况下阿里云确实是国内的No.1
阿里云的ecs默认是关掉25端口的,就算是你申请解封25端口成功了,你也无法用25端口发信,他只允许你用25端口连接到其他的smtp服务器来发信.
使用阿里云的服务,自然而然的想到阿里云的邮件推送服务,而且他还赠送一部分免费的额度,对于我们这种只需要发送触发邮件的人来说,这是非常合适的.
但是这里的一个坑就是smtp协议下只支持25,80,465端口,而465端口一般用来支持STARTTLS, 这个协议比较老,国际标准化组织已经不再推荐,很多的程序例如iredmail默认已经不支持这个端口了。如果你使用的是debian,ubuntu的话,那么这是没有任何问题的,因为自带的postfix 的版本相对来说要新很多, 是3.0 的版本,支持465端口. 如果你使用的是centos7 并且使用的是自带的postfix的话,那么恭喜你,你获奖了。。。
centos7自带的postfix的版本相对来说要低很多,是2.10的版本。。。
而且postfix 的2.10的版本,对于465端口,也就是smtps并不是很支持,你需要使用的stunnel的转发smtps的请求. 详细请看这里:
http://www.postfix.org/TLS_README.html#client_smtps
网上铺天盖地的教程都是apt-get, 我想他们可以也没有想到在centos7 里面会出现问题,不值得花时间去演就演stunnel,那么多的提供标准服务的smtp服务商,舍弃阿里云推送就好了.
如果你的网站位于国外,那么你可以使用sendgrid或者mailgun,都是非常的方便
关键是阿里的整个DIRECT MAIL,用它的API SDK发信,有时候直接报400错误,页面,会直接拦截邮件内容,比较坑,直接报错了,返回JSON多好,SDK整的特别冗余