在 B2B 表单中屏蔽免费邮箱域名:4,768 个域名的列表与免费 API

HubSpot 表单屏蔽的 4,768 个免费邮箱域名清单包含什么、屏蔽 Gmail 注册何时会误伤,以及用于执行该规则的免费 API。
一句话:HubSpot 表单只需勾选一个复选框“Block free email providers”(屏蔽免费邮箱服务商),就能拒收免费邮箱地址,背后是一份公开的 4,768 个域名列表。我们把同一份列表做成了免费 API(
GET /email/check、POST /email/check/batch,每次调用 0 积分)、一个浏览器内检测工具和一个开源 npm 包,让表单执行的规则也能用在注册代码、CRM 清洗任务和 AI Agent 中。这份列表擅长处理显而易见的情况,出错的方式也可以预见;屏蔽任何人之前,两者都要心里有数。
B2B 团队屏蔽免费邮箱域名只有一个原因:来自 jane@northwind.io 的演示申请能告诉你是哪家公司在询问,而来自 jane1987@gmail.com 的不能。HubSpot 把它做成了一项表单设置,并公开了背后的列表,附带可下载的 CSV。
这项设置只覆盖 HubSpot 表单。你自己的注册流程、合作伙伴发来的线索列表,以及你的 Agent 正在补全的 CRM 导出数据,都不会经过它。本文要补上的正是这个缺口。
列表里有什么
我们加载了这份 CSV(2026 年 10 月 10 日的快照),并对其中的内容做了分组。UnifAPI 与 HubSpot 没有任何关联;列表是他们的,分组是我们的。
| 分组 | 示例 | 须知 |
|---|---|---|
| 全球网页邮箱 | gmail.com、googlemail.com、yahoo.com、outlook.com、hotmail.com、icloud.com、aol.com | 人人都能想到的情况。 |
| 国家/地区变体 | 51 个 yahoo.*、33 个 outlook.*、24 个 live.*、22 个 hotmail.* 域名 | 只匹配 yahoo.com 会漏掉 yahoo.co.uk 和 yahoo.co.jp。 |
| 地区性服务商 | web.de、gmx.de、t-online.de、orange.fr、libero.it、mail.ru、yandex.ru、qq.com、163.com、naver.com | 美国以外真实流量的大头。 |
| ISP 邮箱 | comcast.net、att.net、verizon.net、btinternet.com、shaw.ca、bigpond.com | 属于个人邮箱,但仍有一些小企业在用。 |
| 注重隐私 | protonmail.com、duck.com、fastmail.com、hushmail.com、posteo.de | 技术型买家常常有意选用。 |
| 老旧个性化域名 | 1,264 个 mail2*.com 域名,以及 from*.com 和 city-of-* 门户 | 占列表的四分之一,几乎没有实际流量。 |
| 部分一次性邮箱 | mailinator.com、yopmail.com、maildrop.cc | 仅部分覆盖。 |
列表的规模大多是历史遗留。仅 mail2*.com 个性化域名就占了 4,768 条中的 1,264 条。保留它们没有成本,但“4,768 个域名”夸大了它对当今个人邮箱的覆盖程度:前两行就承担了绝大部分。
屏蔽免费域名会在哪里误伤
屏蔽是一种粗放的手段。开启之前,先对照你自己的转化漏斗检查这五种失效情况:
- 用个人邮箱的真实买家。 创始人、顾问,以及在周末做评估的人都在用 Gmail。硬性屏蔽会在他们意向最强的时刻把人拒之门外。
- ISP 邮箱和隐私邮箱。 用
comcast.net的三人代理公司和用protonmail.com的安全工程师都会被屏蔽,可他们都不是普通消费者。 - 较新的服务商会漏网。
proton.me、pm.me、tuta.com和hey.com都不在列表中。guerrillamail.com也不在,所以它也算不上一份一次性邮箱列表。 - “企业邮箱”不等于“可送达”。 不在列表中的域名仍可能是拼写错误、停放域名,或者会退信的邮箱。这里没有任何环节检查 MX 记录或与邮件服务器通信。
- 子域名不会被匹配。 规则是精确匹配:
berlin.de在列表中,senate.berlin.de却不会被视为免费邮箱。对公司和政府子域名来说,这是正确的默认行为,但也意味着mail.yahoo.com这类别名需要单独列出。
对大多数 B2B 团队行之有效的做法是分流,而不是屏蔽:让免费域名的注册进入自助或培育流程,请对方填写公司名称,把销售跟进留给企业域名。职能邮箱(info@、sales@、support@)也值得单独分流:它们是企业邮箱地址,但没有特定的人在看。
应用同一规则的四种方式
| 场景 | 使用 | 说明 |
|---|---|---|
| 表单或注册处理程序 | GET /email/check | 单个地址,返回判定结果 |
| 线索列表或 CRM 导出数据 | POST /email/check/batch | 每次调用最多 1,000 个地址,按输入顺序返回 |
| 公司域名列 | GET /email/domains/{domain} | 接受域名、邮箱地址或 URL |
| 你自己的代码或数据仓库 | GET /email/free-domains,或 npm 包 | 同步列表并离线运行 |
四个端点都是免费的:它们返回标准的 billing 块,其中 credits_charged: 0,余额为零的工作区也能调用。它们运行时不做任何网络查询,因此响应速度和网关本身一样快。
单个地址
curl -s "https://api.unifapi.com/email/check?email=Jane.Doe@Gmail.com" \
-H "Authorization: Bearer $UNIFAPI_API_KEY"
{
"request_id": "…",
"data": {
"input": "Jane.Doe@Gmail.com",
"email": "jane.doe@gmail.com",
"local_part": "jane.doe",
"domain": "gmail.com",
"is_valid_syntax": true,
"is_free_provider": true,
"is_role_account": false,
"verdict": "free",
"invalid_reason": null
},
"billing": {
"credits_charged": 0,
"records_charged": 0,
"balance_remaining": 0,
"truncated_due_to_balance": false
}
}
verdict 是用来做分支判断的字段:business、free 或 invalid。当它为 invalid 时,invalid_reason 会说明原因(missing_at_sign、invalid_local_part、invalid_domain、too_long),足以给出一条有用的表单错误提示,而不是笼统的“邮箱无效”。
线索列表
const res = await fetch("https://api.unifapi.com/email/check/batch", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.UNIFAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ emails: leads.map((lead) => lead.email) }),
});
const { data } = await res.json();
const business = leads.filter((_, i) => data.results[i].verdict === "business");
console.log(data.summary); // { total, business, free, invalid, role_accounts }
结果按输入顺序返回,重复项也会保留,因此无需查找表就能与你的数据行逐一对应。
离线,在你自己的代码中
列表和分类器同样以开源、零依赖的包形式提供:@unifapi/email-filter。
import { checkEmail } from "@unifapi/email-filter";
if (checkEmail(form.email).verdict === "free") {
return "请使用你的工作邮箱。";
}
它可以在 Node、边缘运行时和浏览器中运行,并以 JSON 和纯文本形式附带原始列表,供其他语言使用。请锁定版本,并在列表变更时更新;快照日期以 FREE_EMAIL_DOMAINS_SNAPSHOT_DATE 导出。
无需写代码
免费邮箱域名检测工具在你的浏览器中运行同一个包。粘贴最多 10,000 个地址或域名——CSV 的一列、Jane Doe <jane@acme.io> 这样的邮件头,或普通列表都可以——它会把它们分为企业邮箱、免费邮箱和无效三类,标记职能邮箱,去除重复项,并导出 CSV。你粘贴的内容不会被上传。
把它变成 Agent 提示词
通过 MCP 连接 UnifAPI 后,Agent 可以自己调用批量端点:
这是我们网络研讨会的报名导出数据。用 UnifAPI 邮箱检测为每个邮箱分类,然后返回三份列表:按域名分组的企业邮箱地址;附带本人姓名的免费邮箱地址,方便我们询问其所在公司;以及附带原因的无效行。单独标记职能邮箱,不要发送任何内容。
这项检测不花钱,所以 Agent 可以在为数据补全消耗积分之前,先对每份列表跑一遍。搭配 LinkedIn 公司分析工具,即可摸清企业域名背后的公司情况。
延伸阅读
免费邮箱域名检测工具 - 粘贴一份列表,免费区分企业邮箱与个人邮箱。
邮箱筛选 API - 四个免费端点,附参数与响应结构。
GitHub 上的 @unifapi/email-filter - 开源包与原始列表。