邮箱地址与 MX 记录验证工具
验证邮箱地址格式,并检查其域名能否接收邮件。
🌐 The domain is resolved server-side over DNS-over-HTTPS. Only the part after @ is looked up — the local part is never sent to a resolver, and no mail is sent.
概述
两个不同的问题常被混为一谈。「这个地址格式对吗」可以从字符串本身回答。「发到这里的 邮件会到吗」可以从 DNS 部分回答。「这个邮箱存在吗」在不发信的前提下根本无法回答, 凡是声称能回答的都在猜。
本工具回答前两个,并对第三个明确说明。它先按邮件服务器在实务中执行的规则检查格式, 再解析该域名的 MX、A/AAAA、SPF 与 DMARC 记录——这些信息足以区分打字错误、无法收信的 域名,以及认证配置已损坏的域名。
使用方法
- 输入或粘贴地址。
- 阅读上方两项结果:Syntax 与 Domain accepts mail。
- 阅读备注。它们指出具体问题,而不是给出一个判决。
格式检查执行的规则
RFC 5322 允许的范围远大于邮件系统实际接受的范围。括号注释、含空格的带引号本地部分、 嵌套的折行空白,都是合法文法,却被相当大比例的真实服务器拒收。凡是合法就一律通过的 检查,会在地址注定退信时告诉您没问题。
因此这里适用的是实务规则:
- 本地部分可包含字母、数字与
!#$%&'*+-/=?^_`{|}~.——其中包含撇号,因为o'[email protected]这样的姓名确实存在;包含+,因为 Gmail 式子地址每天都在用。 - 不允许开头的点、结尾的点与连续的点。
- 依据 RFC 5321,本地部分上限 64 字符,域名上限 255 字符,域名的每个标签上限 63 字符。
- 域名必须是有效主机名,且顶级域至少两个字母。
user@localhost会被拒绝,它只在单台 机器内部有意义。 - 非 ASCII 必须用 Punycode。
user@日本語.jp会被拒绝并要求改用xn--形式,因为 投递到 Unicode 形式要求每一跳都支持 SMTPUTF8。
DNS 结果的读法
MX 记录按优先级从小到大列出。有多条属于正常——它们是备用路径,相同优先级则分摊负载。
null MX(RFC 7505)是单条优先级为 0 且主机为空的记录。它表示该域名有意不接收邮件,
并抑制退回隐式 MX 的行为。对只用于网站的域名而言这是正确配置,example.com 正是如此。
隐式 MX 是相反的情形:完全没有 MX 记录,于是发送方退回到 A 或 AAAA 地址。域名在 技术上可收信,而这个结果通常是偶然造成的。邮件会送到 Web 服务器 25 端口上的任何东西, 也就是送不到任何有用的地方。
SPF 的检查针对会破坏投递的缺陷,而不是写法风格。需要 DNS 查询的机制
(include、a、mx、ptr、exists、redirect)超过十个,会依据 RFC 7208 §4.6.4
造成永久错误,认证直接失败——只要再加一家服务商就很容易越界。+all 授权互联网上的
所有发送方,等于彻底废掉 SPF。ptr 已不建议使用。没有 all 机制的记录是开放的,
除非它使用了 redirect=,那种情况下不写 all 才是正确的。
同一域名上有两条 SPF 记录同样是永久错误,也会被报告,因为它表现为原因不明的间歇性
投递失败。只要把第二家服务商的记录与第一条并列添加、而不是用 include: 合并进去,
就必然发生。
DMARC 从 _dmarc.<域名> 读取。p=none 会被标出:它只收集报告,因此失败会被记录
下来并照常投递。作为起点它是正确的,作为终点则不是。
示例
- 注册表单拒绝真实地址 — 把您的校验与这里执行的规则相比较。从网上抄来的正则表达式
经常拒绝带
+的标签、撇号与较长的顶级域。 - 「他们没收到我的邮件」 — 先检查收件方的域名。null MX 或缺少 MX 能立刻给出解释, 并把话题从您自己的服务器上移开。
- 审查自家发信域名 — SPF 查询次数、
+all,以及停在p=none的 DMARC,是最常 解释邮件进入垃圾箱的三项发现。 - 添加邮件服务商之后 — 服务商会给您一条
include:,却很少提到十次查询的上限。 请核对总数,而不是只看新加的那一行。 - 调查某一封具体的邮件 — 邮件头分析显示投递路径以及收件方 记录的 SPF、DKIM 与 DMARC 判定,.eml 查看器可打开保存下来的 邮件。本工具回答的是发信之前的问题,那两个回答的是发信之后的问题。
说明
DNS 通过 DNS-over-HTTPS 解析,每次查询有五秒超时。某次查询失败时,本应由它填充的 字段会报告为「无」而不是报错,因此一次缓慢的 TXT 解析不会让正确的 MX 结果被丢弃。
只有在域名是有效主机名时才会发起查询。未通过结构检查的地址不会产生任何 DNS 流量。
一次性域名列表收录广为人知的服务商,只作提醒而非权威依据——新域名不断出现,不在列表中
不代表任何事。角色账号检查同样仅供参考:info@ 与 admin@ 是完全有效的地址,
只是不属于某一个人。
不发送任何邮件,不建立任何 SMTP 连接,地址的本地部分绝不包含在 DNS 查询中。 见隐私政策。