直接给结论:多半就是25端口被封,但这跟安全组没关系——阿里云默认封禁 TCP 25 端口的出方向流量。最省事的做法是把发信端口改成 465(SSL 加密),而不是急着申请解封。
一、为什么安全组放行了还是发不出去
安全组管”进到这台机器”的流量,25 端口封禁是平台限制”从这台机器主动连出去”,方向正好相反。所以安全组里加了放行、系统防火墙也关了,邮件照样发不出去,telnet 目标服务器 25 端口只会卡到超时。云上机器太容易被拿去群发垃圾邮件,一个 IP 被拉黑同网段都遭殃,厂商索性默认关掉出方向。
二、三条路,按省事程度排
- 换 465 或 587 端口:主流邮件服务商都有 SMTPS(465,SSL)或 587(STARTTLS)。把程序里的 SMTP 端口改成 465、加密选 SSL,通常改完就能发,不用申请也不用等审核。
- 用邮件推送服务:阿里云邮件推送专做发信,走 API 或它给的 SMTP 地址,自带统计和退信处理,日发信量上千的站点建议直接上。
- 确实只能用 25:登录阿里云”安全管控”平台,业务申请里找到 25 端口解封,填公网 IP、目标邮件服务器域名和发信量,一般一个工作日内审核。
腾讯云 CVM 同样默认限制 25 端口出方向,也能在安全管控申请,思路一致。
注意:
- 解封只允许”连第三方 SMTP 服务器转发”,不是让你自建 Postfix 直发;被发现直接发信,端口会永久封禁。
- 别自己搭邮件服务器,新 IP 没有发信信誉,邮件基本全进垃圾箱。
- 换完端口把 SPF、DKIM 记录配好,否则信发得出去,也大概率被判垃圾邮件。
| 方案 | 端口/方式 | 成本与适合场景 |
|---|---|---|
| 第三方邮箱 SMTPS | 465(SSL) | 通常有免费额度,适合发验证码 |
| 邮件推送服务 | API 或专属 SMTP | 按量计费,量大更稳,带退信管理 |
| 申请解封 25 端口 | 25(明文) | 不额外收费但要审核,只适合老系统 |
上表为通用做法,细节以阿里云官方文档为准;涉及费用请以官方活动页实时价格为准。
总结:25 端口发不出信,先别怀疑代码和安全组,八成是出方向被平台封了。换 465 最快,量大就上邮件推送,非 25 不可再申请解封。
阿里云ECS服务器产品文档:参考-阿里云服务器ECS文档
腾讯云轻量服务器产品文档:参考-轻量应用服务器 文档中心
