SMTP 测试
测试 SMTP 服务器连通性和配置
对每台邮件主机建立真实 TCP/TLS 会话,不使用模拟数据。默认探测 25、465、587 三个标准端口;粘贴多个域名即可批量检测。
检测目标 —— 每行一个
支持域名、邮件主机、邮箱地址或 IP。输入域名时会自动解析 MX 记录。
端口
探测端口:
25(服务器间)、465(隐式 TLS)、587(客户端提交)。SMTP 标准端口就这三个。
准备检测
粘贴一个或多个域名、邮件主机或 IP 后开始检测。结果会随每台主机完成逐个出现。
SMTP 检测详解
读懂上面结果所需的一切:真实 SMTP 会话长什么样、各端口职责、邮件平台如何识别,以及出问题怎么修。
关于此工具
这是一个真实的 SMTP 探测引擎,不是模拟器。本页每一条结果都来自探测节点与你输入的邮件主机之间真实建立的 TCP 或 TLS 会话 —— 与发信服务器发出的对话完全一致。
- 真实会话、真实数据:220 横幅、EHLO 能力列表、STARTTLS 协商、TLS 证书与 AUTH 认证方式全部从线路中捕获,绝非虚构。
- 批量检测:一次粘贴最多 50 个目标(域名、主机名、邮箱地址或 IP),每台主机完成即逐条上屏,慢主机不会拖住整批。
- 默认覆盖三个端口:自动探测 25(服务器间投递)、587(提交)与 465(隐式 TLS),无需手动填写端口。
- 25 端口交叉验证:当探测网络出站 25 被过滤时,会改用外部节点复核,避免把「超时」误判为「不通」。
- 平台指纹识别:60+ 条规则识别对端到底是谁 —— Postfix、Exim、本地 Exchange 或 Microsoft 365、Gmail、QQ 邮箱、Coremail、Zimbra、Yandex、邮件安全网关与云中继 —— 并给出置信度与匹配到的证据。
- 可投递性信号:TLS 版本与证书有效期(含临期告警)、PTR 反向解析及正向确认、AUTH 认证方式,以及一个在任何邮件发出前就会停止的开放中继探测。
- 评分与导出:每个目标得到 0–100 分和字母等级,整批结果可导出为 CSV 或 JSON 用于报告。
安全优先:探测从不认证、从不发送邮件正文、从不触碰任何邮箱。它只读取欢迎语与能力列表,然后道别 —— 与互联网上每台邮件服务器每小时数百万次执行的握手完全相同。
这个测试到底做了什么
这不是模拟数据。下面每一行都来自探测节点与你的邮件主机之间真实建立的 TCP(或 TLS)会话。
- 1解析域名的 MX 记录(或直接使用你输入的主机名),找到真正负责邮件的机器。
- 2并发向 25、587、465 端口发起 TCP 连接,并测量握手耗时。
- 3读取连接建立时服务器打印的 220 欢迎语(Banner)。
- 4发送 EHLO,抓取完整能力列表;若支持则发起 STARTTLS 升级。
- 5在 TLS 通道内再次发送 EHLO —— 大多数服务器正是在这里才暴露 AUTH 认证方式。
- 6可选地用一个外部域名的 RCPT TO 探测该主机是否为任意人中继。
- 7发送 QUIT 并关闭连接。全程不会传输任何邮件正文。
不会投递任何邮件,不会触碰任何邮箱,也不会发送凭据。中继探测只发出 MAIL FROM / RCPT TO 后即停止 —— 若服务器在此返回 250,说明存在中继风险,但会话内不会发出任何邮件。
由于探测在云端执行,你本机可以连通的端口在这里仍可能超时:大量云厂商与运营商会过滤出站 25 端口。当 25 超时而 465/587 正常时,我们会判定为出站被封锁,而不是服务器故障。
25、465、587 三个端口
三个端口,三种职责。同时测试三者,才能判断这台主机能否收信、你的应用能否发信,以及两端的加密方式。
| 端口 | 用途 | 加密方式 | 谁会连它 |
|---|---|---|---|
| 25 | 服务器间中继(入站 MX) | 机会性 STARTTLS | 互联网上的其他邮件服务器 |
| 587 | 邮件提交(RFC 6409) | STARTTLS,随后通常强制 AUTH | 邮件客户端与业务应用 |
| 465 | 隐式 TLS 提交(RFC 8314) | 从第一个字节就是 TLS | 不希望有明文握手阶段的客户端 |
- 25 端口是其他邮件服务器联系你的唯一通道。它一旦关闭或被过滤,入站邮件就会退信。
- 587 是应用发信的正确默认端口。它要求 AUTH,服务器因此能区分已认证用户与公网匿名连接。
- 465 并未过时。RFC 8314 正式将其重新登记为隐式 TLS 端口,现在很多服务商反而推荐它,因为它消除了降级攻击窗口。
- 探测节点连不上 25 端口并不等于配置错误 —— 家庭宽带、AWS、GCP 以及绝大多数 Serverless 平台默认封禁出站 25。
只在 25 端口响应、587/465 不通的主机是纯收信 MX。对入站网关来说这很正常 —— 但你的应用不应指向它,而应使用服务商专门的提交中继。
读懂 SMTP 会话
「会话记录」标签页展示原始对话。读懂它之后,任何投递问题都不必靠猜。
一次健康的 587 端口会话
S: 220 mail.example.com ESMTP Postfix C: EHLO client.example.org S: 250-mail.example.com S: 250-PIPELINING S: 250-SIZE 52428800 S: 250-ETRN S: 250-STARTTLS S: 250-ENHANCEDSTATUSCODES S: 250-8BITMIME S: 250-DSN S: 250 SMTPUTF8 C: STARTTLS S: 220 2.0.0 Ready to start TLS C: EHLO client.example.org S: 250-AUTH PLAIN LOGIN S: 250-ENHANCEDSTATUSCODES S: 250 8BITMIME C: QUIT S: 221 2.0.0 Bye
注意 AUTH 只在 STARTTLS 之后出现。这是刻意设计:在明文阶段通告 AUTH,等于邀请他人截获凭据。我们看到这种情况会明确标红。
| 关键字 | 含义 |
|---|---|
| STARTTLS | 服务器可按需将连接升级为 TLS。 |
| AUTH | 提供的认证机制(PLAIN、LOGIN、CRAM-MD5、NTLM、XOAUTH2)。 |
| SIZE | 服务器声明的单封邮件最大字节数。 |
| 8BITMIME | 接受未编码的 8 位正文;否则内容必须是 7 位或已编码。 |
| PIPELINING | 客户端可不等回复连续发送多条命令(更快)。 |
| DSN | 投递状态通知 —— 结构化退信报告。 |
| ENHANCEDSTATUSCODES | RFC 3463 状态码(如 5.7.26),能精确解释失败原因。 |
| SMTPUTF8 | 接受非 ASCII 地址与邮件头(国际化邮件)。 |
| REQUIRETLS | 客户端可要求投递链路每一跳都使用 TLS。 |
| CHUNKING / BINARYMIME | 用 BDAT 传输大邮件或二进制邮件,无需点填充。 |
识别对端邮件系统
Banner、EHLO 名称与 TLS 证书三者共同揭示对端平台。我们会与特征库匹配,并给出置信度。
| 平台 | 典型特征 | 能推断出什么 |
|---|---|---|
| Postfix | 220 主机 ESMTP Postfix | 自建 Linux MTA,Banner 常带版本号。 |
| Exim | 220 主机 ESMTP Exim 4.96 | 自建 MTA,常见于 cPanel/Plesk 虚拟主机。 |
| Microsoft Exchange | Microsoft ESMTP MAIL Service, Version: 15.x | 本地部署 Exchange,版本可对应具体 CU。 |
| Exchange Online / M365 | *.mail.protection.outlook.com | 租户已上云,入站过滤由微软负责。 |
| Google Workspace / Gmail | mx.google.com / *.google.com ESMTP | 托管邮箱,TLS 与认证要求严格。 |
| Coremail | Coremail SMTP(Anti Spam) System | 国内广泛部署,网易 163/126 亦基于它。 |
| 腾讯 QQ / 企业邮 | *.qq.com、mxbiz*.qq.com | 托管邮箱,入站 IP 白名单执行严格。 |
| Zimbra | 220 主机 ESMTP ready Zimbra 9.0 | 自带 MTA 的协作套件。 |
| Proofpoint / Mimecast / IronPort | *.pphosted.com、*.mimecast.com、IronPort 横幅 | 流量经过邮件安全网关 —— 这里的拒收是策略判断,不是邮件服务器故障。 |
| SendGrid / Amazon SES / Mailgun | smtp.sendgrid.net、email-smtp.*.amazonaws.com | 事务型中继 —— 只用于发信提交,不用于收信。 |
置信度如实呈现:Banner 命中为高;仅主机名或证书命中为中;只有通用「ESMTP」横幅而无厂商字样时,保持「未识别」而非硬猜。
故障排查
把结果中的现象与下表对应,然后按正确顺序修复:先 DNS,再连通性,再 TLS,最后认证。
| 现象 | 可能原因 | 处理办法 |
|---|---|---|
| 三个端口全部超时 | 防火墙、安全组拦截,或主机宕机;DNS 指向了旧 IP。 | 确认 A 记录解析到当前 IP,再在边界放通入站 25/465/587。 |
| 25 超时,587/465 正常 | 你的网络或我们云区域过滤了出站 25 端口。 | 换网络复测,或使用外部端口检测;出站过滤不影响入站收信。 |
| 25 端口连接被拒 | 没有进程监听,或服务绑定到了错误网卡。 | 检查 MTA 是否运行,并确认监听 0.0.0.0:25 而非仅 127.0.0.1。 |
| 421 Service not available | 限速、灰名单或连接数限制。 | 稍后重试;不要对同一主机并发开大量连接。 |
| 530 5.7.0 Authentication required | 提交端口要求在 MAIL FROM 之前认证。 | 在客户端启用 SMTP AUTH;25 端口请改用服务商中继。 |
| 550 5.7.26 / 550 relay denied | 发信域未通过 SPF/DKIM/DMARC,或该主机不为其中继。 | 发布 SPF 与 DMARC,对齐 DKIM,并经由授权中继发信。 |
| 证书主机名不匹配 | 证书覆盖的名称与实际响应的 MX 主机不一致。 | 重新签发证书,将 MX 主机名写入 CN 或 SAN;每个 MX 名称都要覆盖。 |
| 25 端口无 STARTTLS | 入站监听器未配置 TLS。 | 安装有效证书并启用机会性 TLS;再加 MTA-STS 与 TLSRPT 使其可强制。 |
| 服务器接受了外部域收件人 | 开放中继 —— 任何人都能借该主机发信。 | 立即把中继规则限制为已认证会话与自有域名;此时很可能已被列入黑名单。 |
加固清单
一台配置良好的邮件主机,从外部测试时应该长这样。
- 25 端口返回 220 横幅,其中主机名可正反解析(PTR 与 A 记录一致)。
- 25 端口通告 STARTTLS,并能协商 TLS 1.2 及以上,证书匹配 MX 名称。
- 587 开放用于提交且要求认证;AUTH 只在 TLS 内通告。
- 对非本服务器托管的域名一律拒绝中继。
- 已发布 SPF、DKIM、DMARC,此时出现的 550 拒收只关乎信誉,而非身份伪造。
- 已配置 MTA-STS 与 TLSRPT,降级尝试会被拒绝并上报。
- 若域名已启用 DNSSEC,发布 DANE TLSA 记录 —— 这是入站 TLS 最强的强制方式。
- 监控证书到期时间,尽量在到期前 30 天以上完成续期。
每条结果上的评分只是对上述检查项的加权读数,不是投递能力评级。它完全不考虑信誉与内容 —— 那一半需要配合黑名单与垃圾邮件评分工具来看。
常见服务商速查
最常被测试的平台提交参数。当你自己的服务器表现不同时,可用它们做对照。
| 服务商 | 提交主机 | 端口 | 说明 |
|---|---|---|---|
| Gmail / Google Workspace | smtp.gmail.com | 587 / 465 | 需要应用专用密码或 OAuth;个人账号默认禁用普通 SMTP。 |
| Microsoft 365 | smtp.office365.com | 587 | 可能需在管理中心为每个邮箱单独开启认证 SMTP。 |
| Yahoo Mail | smtp.mail.yahoo.com | 587 / 465 | 开启两步验证时必须使用应用专用密码。 |
| QQ 邮箱 / 腾讯企业邮 | smtp.qq.com / smtp.exmail.qq.com | 465 / 587 | 使用授权码,而非邮箱密码。 |
| 网易 163 / 126 | smtp.163.com / smtp.126.com | 465 / 994 | 需先在网页设置中开启 SMTP 服务。 |
| Amazon SES | email-smtp.<region>.amazonaws.com | 587 / 465 | 主机随区域变化;凭据是 SMTP 密钥,不是 AWS 访问密钥。 |
| SendGrid | smtp.sendgrid.net | 587 / 465 | 用户名固定为 apikey,密码就是 API Key。 |
| Zoho Mail | smtp.zoho.com | 587 / 465 | 存在区域变体(smtp.zoho.eu、smtp.zoho.in)。 |
常见问题
