check-if-email-exists 邮箱真实性校验
用 Rust 编写的邮箱地址真实性校验工具,无需发送邮件即可判断邮箱是否存在,提供 HTTP 后端、CLI 与 Rust 库三种用法。
爱鲜报评分
0.0
0 人评分
1k
星数
否
中文
Rust
主语言
是
活跃
36
贡献者
人工分析
EDITORIAL推荐理由
项目用 Rust 实现,性能好且部署简单,Docker 一行命令即可启动 HTTP 服务。校验维度覆盖语法、MX 记录、SMTP 连通性、一次性邮箱、角色账号、Catch-all 等,输出结构化 JSON 便于集成。适合需要在注册、营销、风控环节做邮箱质量过滤的团队。
适用场景
- 用户注册时过滤无效或一次性邮箱
- 邮件营销前清洗收件人列表,降低退信率
- 风控系统识别批量注册的虚假账号
- 作为微服务集成到现有后端系统
- Rust 项目中直接调用库做邮箱校验
优点
- 无需实际发送邮件即可完成多层校验
- 提供 HTTP 后端、CLI 和 Rust 库三种使用方式
- Docker 部署简单,输出 JSON 结构清晰
- 校验维度丰富,含一次性邮箱、角色账号、Catch-all 等
- MIT 协议开源,社区活跃,Star 数过万
缺点
- SMTP 校验需要服务器开放出站 25 端口,云厂商常默认封禁
- 大规模使用需自备 SMTP 代理 IP,否则易被目标服务器限流
- 部分邮箱服务商对 SMTP 探测有防护,结果可能为 unknown
- 官方 SaaS 与开源版功能存在差异,需注意区分
上手难度
进阶
项目简介
check-if-email-exists 是一个用 Rust 编写的邮箱地址真实性校验工具。它的核心特点是不发送任何邮件,就能判断一个邮箱地址是否真实存在、是否可送达。项目同时提供 ⚙️ HTTP 后端、命令行工具和 Rust 库三种使用方式。
校验能力
工具会从多个维度对邮箱进行检测,并输出结构化 JSON:
- 语法校验:地址格式是否合法,并给出拼写建议
- DNS 校验:域名是否有有效的 MX 记录
- SMTP 校验:能否连接邮件服务器、邮箱是否可送达
- 状态检测:邮箱是否被禁用、收件箱是否已满
- 风险识别:是否为一次性邮箱、角色账号(如 admin@)、Catch-all 地址
- 可达性结论:
safe、risky、invalid或unknown
三种使用方式
1. HTTP 后端(推荐)
使用 Docker 启动服务,注意服务器需开放出站 25 端口:
docker run -p 8080:8080 reacherhq/backend:latest
然后发送请求:
POST http://localhost:8080/v0/check_email
{
"to_email": "someone@gmail.com"
}
2. 命令行工具
从 Releases 页面下载对应平台的二进制文件,直接在本机校验,不依赖后端服务。
3. Rust 库
在 Cargo.toml 中引入依赖后,通过 check_email 异步函数调用,返回包含完整校验信息的结构体。
输出示例
返回的 JSON 包含 is_reachable、misc、mx、smtp、syntax 等字段,便于程序直接消费与落库。
注意事项
- 大规模校验需要自备 SMTP 代理 IP,否则容易被目标邮件服务器限流或封禁。
- 部分邮箱服务商对 SMTP 探测有防护,结果可能返回
unknown,需要业务侧做兜底处理。 - 项目采用 MIT 协议开源,另有官方 SaaS 版本提供更友好的 Web 界面。
评论
- 暂无评论,来写第一条吧。