产品指南
如何检查电子邮件地址是否存在并可接收邮件
了解存在性检查的含义,为何“无效”和“无法判定”结果与“不可投递”不同,以及如何在不发送邮件的情况下验证地址。

本指南旨在介绍检查电子邮件地址是否存在的实用方法:检查结果的四种类型、常见方法的对比,以及针对每种结果应采取的行动。
在此之前,请确认输入的是一个包含本地部分、@ 符号和域名的完整地址,因为格式错误的输入属于格式问题,而非不可投递的结果。某些地址(例如位于 Catch-All 域名下的地址)无法明确判定,应归类为无法判定。
“检查电子邮件地址是否存在”的实际意义
在发送任何消息之前进行的检查可以回答前两个问题。后两个问题则属于其他流程的范畴,例如确认链接或您自己的许可记录。
将结果视为四种类型之一,而不是简单的“是”或“否”,会更有帮助:
| 结果 | 含义 | 下一步操作 |
|---|---|---|
| 无效格式 | 输入的不是包含本地部分、@ 和域名的完整地址 |
要求更正;不要将其记录为不可投递 |
| 可投递 | 该地址在检查时可以接收邮件 | 保留该地址并存储检查日期 |
| 不可投递 | 该地址在检查时无法接收邮件 | 停止向其发送邮件并寻找当前有效的地址 |
| 无法判定 | 无法确定结果(例如 Catch-All 域名) | 将其保留在单独的组中,并视情况处理 |
将这四种结果区分开来是大多数存在性检查工具所忽略的关键点。将“无效”或“无法判定”的行合并到“不可投递”中,会丢弃可能正常的地址,并掩盖可以修复的拼写错误。
常见电子邮件存在性检查方法的对比
指南和论坛中流传着多种方法。它们在显示内容和成本方面有很大差异。
| 方法 | 显示内容 | 主要缺点 |
|---|---|---|
| 发送测试邮件 | 退信或无响应 | 无响应不能证明任何问题,且向未知地址发送邮件会增加您的退信记录 |
| 探测登录或密码恢复页面 | 有时能判断账户是否存在 | 恢复流程旨在不泄露此信息,且探测行为可能被视为攻击 |
| 查询域名的邮件记录 | 域名是否配置为可接收邮件 | 无法说明单个邮箱的情况 |
| 直接与邮件服务器通信 | 有时能判断收件人是否被接受 | 许多服务器会接受所有收件人或拒绝未知调用者,且您的 IP 可能会被封锁 |
| 使用邮箱可达性检测服务 | 检查时可投递或不可投递,无需发送邮件 | 部分地址仍可能处于无法判定状态 |
发送测试邮件是最常见的错误。Google 的电子邮件发送者指南要求批量发送者仅向请求接收邮件的用户发送邮件,而来自猜测地址的重复退信会损害您的声誉。探测恢复页面也有类似的问题:OWASP 关于电子邮件验证的指南建议应用程序不要披露账户是否存在,因此运行良好的服务会给出统一的回复。服务器对话遵循 RFC 5321 中定义的命令,但标准允许服务器决定披露多少信息,这就是为什么自制脚本会返回许多不确定结果的原因。
如何使用 EmailCheckPro 检查电子邮件地址是否存在
EmailCheckPro 的邮箱可达性检测支持几乎所有域名,并为每次完成的检查返回可投递或不可投递的结果。工作流程取决于您拥有的地址数量。
- 首先清理输入。 修剪空格,删除从文档中复制的尾随标点符号,并确认每个条目都包含本地部分、
@符号和域名。将域名转换为小写是安全的;请保留本地部分的原样。 - 检查单个地址。 将其粘贴到仪表板中以获取实时结果,或从您的服务器调用
POST /api/v1/check并使用邮箱可达性检测产品。请将 API 密钥保存在服务器上,而不是浏览器代码中。 - 检查短列表。 仪表板支持最多 500 个地址的实时检查。通过 API,
POST /api/v1/batch-check每次请求可接受 1–100 个地址,并按输入顺序返回结果。未完成检查的项目会被报告,不应被视为不可投递。 - 检查准备好的文件。 上传一个每行包含一个完整地址的 TXT 或 CSV 文件作为异步批量任务。无效和重复的行会在准备过程中被移除。请以不超过每 30 秒一次的频率轮询
GET /api/v1/bulk-tasks/{id},并在任务成功后下载结果 CSV 文件。 - 记录结果及日期。 结果描述的是地址在检查时的状态,因此日期与结论同样重要。
在此过程中不会向该地址发送任何消息,地址所有者也不会收到任何内容。对于 Gmail、Yandex 和 Mail.ru 地址,邮箱头像检测可以在可达性之外提供公共头像信号。
如何处理每种结果
只有当每个结果都能引导至明确的行动时,检查才是有用的。一个简单的路由计划如下:
- 无效格式。 在注册表单中,显示该地址并要求用户更正。在导入的列表中,仅在源记录确认了预期地址时才修复明显的域名拼写错误;否则将该行移动到审核组。无效输入不计费。
- 可投递。 保留该地址并保存检查日期。可投递地址仍需遵守您的常规许可规则,因此该结果不能替代您的许可记录。
- 不可投递。 停止向该地址发送常规邮件。标记该记录而不是删除它,以防止该地址稍后被重新导入,并在下一次自然的接触点(如登录或续订)时要求提供当前地址。
- 无法判定。 将这些行保留在它们自己的组中。例如,Catch-All 地址属于无法判定而非猜测,且无法明确判定的实时检查不会返回结果,也不计费。稍后重新检查,或仅在现有关系已支持的情况下联系这些地址。
使用多个工具发送邮件的团队应就存储结果的位置达成一致。否则,营销平台可能会继续向 CRM 已标记为不可投递的地址发送邮件。
在根据结果采取行动前需注意的限制
存在性检查只是一个快照,一些限制决定了其可信度。
- 结果会过期。 邮箱会被关闭、废弃和重新创建。例如,Google 发布了非活动账户政策,根据该政策,两年未使用的个人账户可能会被删除。在重要发送任务之前或经过长时间间隔后,请重新检查旧的细分数据。
- 可投递不代表是个人。 共享地址和角色地址(如团队收件箱)可能是可投递的,但没有个人对其负责。
- 可投递仅针对收件人地址。 它表示该地址可以接收邮件;特定消息如何被过滤是发送方的问题。
- 无法判定并非您的数据故障。 它反映了某些域名的配置方式,因此默认情况下不应将其计入联系人的负面记录。
将这些限制写入团队的数据规则中,可以防止人们在任何方向上过度解读单个结果。
常见问题解答
团队如何检查整个电子邮件地址列表是否存在?
导出电子邮件列,删除明显的空白行,并将其保存为每行包含一个完整地址的 TXT 或 CSV 文件。将其作为批量任务提交,该任务将异步运行,请以不超过每 30 秒一次的频率轮询任务状态。结果 CSV 文件会列出每个地址及其结果。下载链接有效期为 12 小时;如果链接过期,再次查询同一任务会刷新链接。
为什么 Catch-All 域名会导致存在性检查无法判定?
EmailCheckPro 会将这些地址报告为无法判定,而不是进行猜测,且无法判定的检查不计费。请将它们视为一个单独的组,并制定相应的发送规则。
无效电子邮件地址和不可投递地址有什么区别?
无效地址不符合电子邮件地址的基本格式,例如缺少 @、中间有空格或缺少域名。不可投递地址是完整且格式正确的,但检查发现该地址在当时无法接收邮件。修复方法不同:无效条目需要更正,不可投递条目需要替换。
可投递结果的有效期是多久?
一种实用的方法是将重新检查与事件挂钩:在大型活动之前、联系人在长时间沉默后回归时,以及从旧系统导入记录时。将检查日期与每个结果一起存储,以便团队了解证据的陈旧程度。
了解更多
选择适合您工作流程下一步的产品信息。