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

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

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 个域名”夸大了它对当今个人邮箱的覆盖程度:前两行就承担了绝大部分。

屏蔽免费域名会在哪里误伤

屏蔽是一种粗放的手段。开启之前,先对照你自己的转化漏斗检查这五种失效情况:

  1. 用个人邮箱的真实买家。 创始人、顾问,以及在周末做评估的人都在用 Gmail。硬性屏蔽会在他们意向最强的时刻把人拒之门外。
  2. ISP 邮箱和隐私邮箱。 用 comcast.net 的三人代理公司和用 protonmail.com 的安全工程师都会被屏蔽,可他们都不是普通消费者。
  3. 较新的服务商会漏网。 proton.me、pm.me、tuta.com 和 hey.com 都不在列表中。guerrillamail.com 也不在,所以它也算不上一份一次性邮箱列表。
  4. “企业邮箱”不等于“可送达”。 不在列表中的域名仍可能是拼写错误、停放域名,或者会退信的邮箱。这里没有任何环节检查 MX 记录或与邮件服务器通信。
  5. 子域名不会被匹配。 规则是精确匹配: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 - 开源包与原始列表。