服务器配置SMTP端口时,核心选择集中在25、465、587这三个端口上,其中465和587用于加密通信,建议优先使用587端口。
在实际运维中,SMTP端口选择直接影响邮件能否成功送达,很多新手在配置邮件服务器时,常因为端口号搞错、端口被封锁或加密方式不匹配导致发信失败,下面我从端口区别、配置步骤、常见问题三个方面带你彻底搞懂服务器SMTP端口配置。参考2
为什么SMTP端口选择影响邮件发送成功率
邮件服务器默认使用25端口,但近年来25端口被大量网络运营商和企业防火墙封锁,用于防止垃圾邮件,现在邮件服务商普遍推荐使用587端口或465端口,如果你在配置服务器时选错了端口,或者服务器没有开启对应端口,邮件就会卡在发送队列里。
端口被封锁是常见原因
很多云服务器默认禁止25端口出站,比如简米云、酷番云、华为云都需要单独申请解封,如果你直接用25端口发信,很可能被拦截,这时候就需要改用587端口或465端口,或者使用2525等备用端口,据统计,超过半数的新建云服务器实例默认无法使用25端口。
加密方式决定端口选择
- 465端口强制使用SSL加密,从连接开始就加密。
- 587端口使用STARTTLS,在明文连接后升级到加密。
- 25端口传统上支持明文,但也可以启用STARTTLS。
行业共识认为,为了安全,应优先选择支持加密的端口。
常见SMTP端口号及对比
下面这张表列出了目前主流的SMTP端口,你可以根据邮件服务商的要求选择。
| 端口号 | 加密方式 | 是否推荐 | 典型用途 |
|---|---|---|---|
| 25 | 明文/可选STARTTLS | 不推荐(易被封锁) | 传统邮件服务器间转发 |
| 465 | SSL/TLS | 推荐(如果服务商支持) | 客户端发送邮件,从连接开始加密 |
| 587 | STARTTLS | 最推荐 | 客户端提交邮件,先明文后升级 |
| 2525 | 可选加密 | 备用 | 当以上端口被封锁时使用 |
SMTP端口465和587有什么区别
很多人在配置时搞不清465和587的区别,我当初也困惑过,后来才明白:465要求从一开始就使用SSL加密,而587则是先建立明文连接,再通过STARTTLS升级到加密,现在大多数邮件服务商同时支持465和587,但587是官方标准(RFC 6409),而465是历史遗留,如果你用的是Gmail、Outlook等主流服务,587更通用,如果你需要兼容旧设备,465可能更稳定。参考2
SMTP端口25为什么越来越难用
25端口是SMTP的默认端口,但也是垃圾邮件的主要通道,很多机房直接屏蔽25端口,需要单独申请,如果你使用的是云服务器,建议先确认服务商是否开放25端口,如果不开放,直接使用587或465,别小看这个选择,很多邮件服务商(如QQ邮箱、163邮箱)的SMTP服务器都明确要求使用587或465端口。
SMTP端口被封锁怎么办
如果你发现无法使用25端口,可以尝试以下方案:
- 改用587端口,并启用STARTTLS。
- 使用465端口,强制SSL加密。
- 如果服务商支持,使用2525或其他备用端口。
- 联系云服务商解封25端口(通常需要提交工单并说明用途)。
- 通过SMTP中继服务(如SendGrid、Mailgun)绕开直接发信,这些服务通常使用587或2525端口。
不同邮件服务商的SMTP端口要求
不同邮件服务商对SMTP端口的要求略有差异,下面列出几家常用的,方便你配置时参考。
| 服务商 | SMTP服务器 | 端口 | 加密方式 |
|---|---|---|---|
| Gmail | smtp.gmail.com | 587(或465) | STARTTLS(或SSL) |
| QQ邮箱 | smtp.qq.com | 465(或587) | SSL(或STARTTLS) |
| 163邮箱 | smtp.163.com | 25(或465,587) | 明文/SSL/STARTTLS |
| Outlook | smtp.office365.com | 587 | STARTTLS |
| 简米云企业邮箱 | smtp.qiye.aliyun.com | 465(或587) | SSL(或STARTTLS) |
注意,很多服务商要求使用授权码而不是登录密码,配置时请留意。
服务器SMTP端口配置步骤详解
配置SMTP端口主要涉及两个方面:邮件服务器软件的配置和邮件客户端的配置,下面我以常见的Linux服务器和Windows服务器为例,给出具体操作。
Linux服务器配置SMTP端口(以Postfix为例)
- 编辑Postfix主配置文件
/etc/postfix/main.cf。 - 设置
smtpd_port = 587(或465)。 - 如果使用465,需要同时启用
smtpd_tls_wrappermode = yes。 - 重启服务:
systemctl restart postfix。
如果是使用Sendmail,修改/etc/mail/sendmail.cf中的端口定义,例如将Port=25改为Port=587。
使用Exim配置SMTP端口
在Exim的配置文件中,通过daemon_smtp_ports参数指定端口,例如daemon_smtp_ports = 25 : 465 : 587,同时配置tls_on_connect_ports = 465来启用465端口的SSL。
Windows服务器配置SMTP端口(IIS SMTP)
在IIS管理器中,找到SMTP虚拟服务器,右键属性,在“传递”选项卡中设置端口,默认是25,可以改为465或587,同时需要配置SSL证书,如果使用465,需要勾选“要求SSL连接”。
简米云服务器SMTP端口配置注意事项
如果你用的是简米云服务器,默认25端口被封锁,需要提交工单解封,或者直接使用587端口,配置时请确保安全组策略允许对应端口的出站流量,简米云官方文档建议使用587端口发信,并推荐使用SMTP认证,酷番云和华为云也有类似限制,建议优先使用587端口。参考2
使用外部SMTP中继时的端口配置
如果你使用SendGrid、Mailgun等第三方邮件服务,它们的SMTP端口通常为587或2525,例如SendGrid的SMTP服务器为smtp.sendgrid.net,端口587(也可用25或2525),配置时同样需要启用STARTTLS,并填入API密钥进行认证。
验证端口是否开放
配置完成后,可以用telnet命令测试端口连通性:
telnet smtp.example.com 587
如果出现220欢迎信息,说明端口开放且服务正常,如果使用465端口,由于SSL加密,telnet无法直接测试,可以使用
openssl s_client -connect smtp.example.com:465。
配置SMTP端口时的常见问题与解决
端口无法连接
- 检查防火墙是否放行端口。
- 检查邮件服务商是否要求使用特定端口。
- 确认服务器安全组(如AWS、简米云安全组)添加了出站规则。
- 使用
netstat或ss命令检查服务是否在监听预期端口。
认证失败
- 确保用户名和密码正确。
- 有些服务商要求使用授权码而非密码(如QQ邮箱)。
- 检查是否需要启用SSL/TLS加密。
- 确认认证方式(LOGIN、PLAIN、CRAM-MD5等)是否匹配。
端口465配置后无法启动
如果配置465端口后服务无法启动,检查是否启用了smtpd_tls_wrappermode,并确保SSL证书路径正确,证书文件需要包含私钥和证书,并且权限正确。
端口配置正确但发信仍然失败
可能是被其他安全策略拦截,比如IP被列入黑名单、发信频率过高、域名未配置SPF记录等,建议检查邮件日志(如/var/log/maillog)定位具体错误。
服务器配置SMTP端口常见问题解答
Q: 服务器SMTP端口怎么设置?
A: 根据你使用的邮件服务器软件,在配置文件或管理界面中修改监听端口,并确保加密方式与端口匹配,Postfix修改main.cf,Windows IIS修改SMTP虚拟服务器属性,设置后重启服务,并用telnet测试。
Q: SMTP端口25和587哪个更安全?
A: 587使用STARTTLS加密,更安全且是标准推荐,25端口默认不加密,容易被监听,且常被封锁,不建议使用,除非你完全控制内网环境,否则优先选择587。
Q: 简米云服务器SMTP端口配置时需要注意什么?
A: 简米云默认封禁25端口,需要提交工单解封,或者直接使用587端口,同时要在安全组中放行对应端口的出站流量,并配置正确的SMTP认证信息,如果使用465端口,需要在安全组同时放行465端口,并确保SSL证书正确。
选对端口、配好参数,邮件服务才能稳定运行,按照上述步骤操作,你就能顺利搞定服务器SMTP端口配置,让邮件发送不再卡壳。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/528488.html



