发送一个地址,获取一个判定结果:valid、neutral、risky、undeliverable 或 typo。同时返回 0 到 100 的置信度评分、标明地址类型的标记,以及拼写错误可能对应的正确地址。一次请求,无需上传列表,无需轮询任务。
const answer = await bird.lookup.email({
email: "aisha.khan@exampel.com",
});
console.log(answer.result, answer.delivery_confidence);
// → "typo" 31
console.log(answer.did_you_mean);
// → "aisha.khan@example.com"
console.log(answer.valid, answer.flags);
// → true []
一个可直接用于分支逻辑的判定结果。
而非需要您自行选定阈值的百分比。
邮箱地址查询是 Bird Lookup API 中两种操作之一。编写逻辑时应依据 result 字段,因为它已将语法、域名、邮箱和信誉检查归纳为五种结果。delivery_confidence 适用于需要评级而非拦截的场景,例如将高风险注册暂留审核而非直接拒绝。您发送的地址原样返回:本地部分区分大小写且不会被转换为小写,显示名称格式会被拒绝而非解析。
六个字段,各有用途。
所有字段均通过同一次请求返回。
- 01
result,判定结果。
valid 表示可安全发送。neutral 表示可投递但无额外参考信息。risky 表示可能接收邮件但存在需要犹豫的理由。undeliverable 表示无法接收邮件。typo 表示看起来像是某个真实地址的拼写错误。
- 02
reason,仅在适用时出现。
invalid_syntax、invalid_domain 或 invalid_recipient,指明地址未通过三项检查中的哪一项。它仅出现在 undeliverable 判定中,不出现在其他判定中,因此它的缺失本身也是信息。
- 03
did_you_mean,纠正建议。
typo 可能对应的正确地址,可直接展示给输入者。注册表单提供纠正建议,能挽回账户,而非让它因无人察觉的退信而丢失。
- 04
delivery_confidence,0 到 100。
这是一个评级而非决策,这也是它与 result 的区别所在。两个地址可能共享同一判定结果,但在此数值上相差甚远,而这个差距正是审核队列应介入之处。
- 05
flags,地址类型。
role 表示共享邮箱(如 info 或 support),disposable 表示一次性邮箱提供商,free_provider 表示个人免费邮箱。这三者都是格式正确且可接收邮件的地址,因此它们是标记而非判定结果。
- 06
valid,窄义布尔值。
表示地址格式正确且其域名能够接收邮件。它不涉及邮箱本身,因此许多判定为 risky 的地址其 valid 值也为 true。当您需要判定结果时,请读取 result。
五种结果,四种处理方式。
拒绝 undeliverable 的地址,对 typo 提供纠正建议,将 risky 地址暂留审核,接受其余地址。这就是整个集成,它可以放在收集地址的表单提交处理程序中。
const answer = await bird.lookup.email({
email: "info@example.com",
});
if (answer.result === "undeliverable") {
// reason is present on this verdict and no other.
reject(answer.reason);
} else if (answer.result === "typo") {
suggest(answer.did_you_mean);
} else if (answer.result === "risky") {
// A role or disposable address is well formed and still a poor signup.
review(answer.flags);
} else {
accept(answer.delivery_confidence);
}
费用说明,以及它不是什么。
每次请求查询一个地址,每个判定结果均计费,包括 undeliverable,因为得出该判定本身就是工作量。没有批量形式,也没有列表上传。携带相同 Idempotency-Key 的重试会重放您已付费的判定结果。Lookup 也不是抑制列表:它在您发送之前告诉您地址的情况,而抑制列表记录的是您发送之后发生的事情,健康的发送体系两者都需要。
邮箱地址常见问题解答。
判定结果、标记、置信度评分,以及抑制列表的定位。
邮箱地址查询能返回什么信息?
五种判定结果分别是什么?
为什么地址会被判定为不可投递?
收到 typo 判定结果后应该怎么做?
delivery_confidence 和 result 有什么区别?
还有一个 valid 字段,它就是 valid 判定结果吗?
各标志位是什么意思?
地址应该怎么写?
我需要用 Lookup 来停止向已退信的地址发送邮件吗?
Lookup 的其他功能
一个 API 密钥,一个错误信封。探索另一项能力。