如何切换
先从这三项更改开始。具体细节和请求示例如下。
-
1 获取 API 密钥创建 Emailable 账户并从控制面板生成 API 密钥。在进行连接配置时使用测试密钥;测试请求不会消耗积分。
-
2 更新端点在一个
GET请求中发送 email 地址和 API 密钥。无需 IP 地址参数,也不需要为不同的检查设置单独的端点。 -
3 映射响应字段ZeroBounce 的
status对应state,而sub_status对应reason。大多数其他字段一一对应。
更新您的 API 集成
比较请求和响应的格式,然后更新应用程序所使用的字段。
ZeroBounce 请求
curl "https://api.zerobounce.net/v2/validate?email=john.doe@zerobounce.net&api_key=your_api_key&ip_address="
ZeroBounce 响应
{
"address": "john.doe@zerobounce.net",
"status": "valid",
"sub_status": "",
"free_email": false,
"catchall_domain": true,
"did_you_mean": null,
"account": "johndoe",
"domain": "zerobounce.net",
"domain_age_days": "3431",
"active_in_days": "30",
"active_first_seen": "2026-02-25",
"smtp_provider": "g-suite",
"mx_found": "true",
"mx_record": "aspmx.l.google.com",
"firstname": "dan",
"lastname": "cotet",
"gender": "male",
"country": null,
"region": null,
"city": null,
"zipcode": null,
"processed_at": "2026-06-18 07:05:00.033"
}
Emailable 请求
curl "https://api.emailable.com/v1/verify?email=support@example.com&api_key=your_api_key"
Emailable 响应
{
"accept_all": false,
"did_you_mean": null,
"disposable": false,
"domain": "example.com",
"duration": 0.493,
"email": "support@example.com",
"first_name": null,
"free": false,
"full_name": null,
"gender": null,
"last_name": null,
"mailbox_full": false,
"mx_record": "mx.example.com",
"no_reply": false,
"reason": "accepted_email",
"role": true,
"score": 100,
"smtp_provider": null,
"state": "deliverable",
"tag": null,
"user": "support"
}
ZeroBounce 请求
curl -X POST "https://api.zerobounce.net/v2/validatebatch" \
-H "Content-Type: application/json" \
-d '{
"api_key": "your_api_key",
"email_batch": [
{ "email_address": "john.doe@zerobounce.net", "ip_address": "1.1.1.1" },
{ "email_address": "invalid@example.com", "ip_address": "1.1.1.1" },
{ "email_address": "disposable@example.com", "ip_address": null }
],
"activity_data": true,
"verify_plus": true
}'
ZeroBounce 响应
{
"email_batch": [
{
"address": "john.doe@zerobounce.net",
"status": "valid",
"sub_status": "",
"free_email": false,
"catchall_domain": true,
"did_you_mean": null,
"account": "johndoe",
"domain": "zerobounce.net",
"domain_age_days": "3431",
"active_in_days": "30",
"active_first_seen": "2026-02-25",
"smtp_provider": "g-suite",
"mx_found": "true",
"mx_record": "aspmx.l.google.com",
"firstname": "dan",
"lastname": "cotet",
"gender": "male",
"country": null,
"region": null,
"city": null,
"zipcode": null,
"processed_at": "2026-06-18 07:05:00.033"
},
{
"address": "invalid@example.com",
"status": "invalid",
"sub_status": "mailbox_not_found",
"free_email": false,
"did_you_mean": null,
"account": null,
"domain": null,
"domain_age_days": "9692",
"active_in_days": "365",
"active_first_seen": "2026-02-25",
"smtp_provider": "example",
"mx_found": "true",
"mx_record": "mx.example.com",
"catchall_domain": false,
"firstname": "zero",
"lastname": "bounce",
"gender": "male",
"country": null,
"region": null,
"city": null,
"zipcode": null,
"processed_at": "2020-09-17 17:43:11.830"
},
{
"address": "disposable@example.com",
"status": "do_not_mail",
"sub_status": "disposable",
"free_email": false,
"did_you_mean": null,
"account": null,
"domain": null,
"domain_age_days": "9692",
"active_in_days": "365",
"active_first_seen": "2026-02-25",
"smtp_provider": "example",
"mx_found": "true",
"mx_record": "mx.example.com",
"catchall_domain": false,
"firstname": "zero",
"lastname": "bounce",
"gender": "male",
"country": null,
"region": null,
"city": null,
"zipcode": null,
"processed_at": "2020-09-17 17:43:11.830"
}
],
"errors": []
}
Emailable 请求
curl -X POST "https://api.emailable.com/v1/batch" \
-H "Content-Type: application/json" \
-d '{
"api_key": "your_api_key",
"emails": [
"tim@smith.com",
"john@smith.com",
"support@emailable.com"
],
"url": "https://example.com/callback"
}'
Emailable 响应
{
"emails": [
{
"accept_all": false,
"did_you_mean": null,
"disposable": false,
"domain": "smith.com",
"email": "tim@smith.com",
"first_name": "Tim",
"free": false,
"full_name": "Tim",
"gender": "male",
"last_name": null,
"mailbox_full": false,
"mx_record": "mx.smith.com",
"no_reply": false,
"reason": "accepted_email",
"role": false,
"score": 100,
"smtp_provider": null,
"state": "deliverable",
"tag": null,
"user": "tim"
},
{
"accept_all": false,
"did_you_mean": null,
"disposable": false,
"domain": "smith.com",
"email": "john@smith.com",
"first_name": "John",
"free": false,
"full_name": "John",
"gender": "male",
"last_name": null,
"mailbox_full": false,
"mx_record": "mx.smith.com",
"no_reply": false,
"reason": "rejected_email",
"role": false,
"score": 0,
"smtp_provider": null,
"state": "undeliverable",
"tag": null,
"user": "john"
},
{
"accept_all": false,
"did_you_mean": null,
"disposable": false,
"domain": "emailable.com",
"email": "support@emailable.com",
"first_name": null,
"free": false,
"full_name": null,
"gender": null,
"last_name": null,
"mailbox_full": false,
"mx_record": "aspmx.l.google.com",
"no_reply": false,
"reason": "low_quality",
"role": true,
"score": 70,
"smtp_provider": "Google",
"state": "risky",
"tag": null,
"user": "support"
}
],
"id": "5cf6dd30093f96d2ac34bb0a",
"message": "Batch verification completed.",
"reason_counts": {
"accepted_email": 1,
"invalid_domain": 0,
"invalid_email": 0,
"invalid_smtp": 0,
"low_deliverability": 0,
"low_quality": 1,
"no_connect": 0,
"rejected_email": 1,
"timeout": 0,
"unavailable_smtp": 0,
"unexpected_error": 0
},
"total_counts": {
"deliverable": 1,
"processed": 3,
"risky": 1,
"total": 3,
"undeliverable": 1,
"unknown": 0,
"duplicate": 0
}
}
批处理端点有何不同
ZeroBounce 的批量端点会在所有地址都检查完毕之前保持请求处于打开状态,其文档中建议,当地址数量超过 200 个时,应使用批量文件端点。Emailable 的批量 API 单次请求最多可处理 50,000 个地址,并能将结果发送到您的回调 URL。
Emailable 企业账户可以联系支持团队申请更大的批次。
获取您的结果
对于 API 批量处理,请使用返回的 ID 查询状态,或者添加一个回调 URL,处理完成后我们会通知您的应用程序。地址数量超过 1,000 个的批处理将返回一个 CSV 下载链接。
curl "https://api.emailable.com/v1/batch?id=5cf6dd30093f96d2ac34bb0a&api_key=your_api_key"
For batches up to 1,000 addresses, add partial=true to the status request to read results while the batch is still verifying.
一次性列表
如果是单次 email 列表,请跳过批量 API,直接在 Emailable 控制台中使用“批量验证器”。在那里上传文件,处理完成后导出结果。
匹配响应
ZeroBounce 返回的结果中,大部分都包含一个对应的 Emailable 字段。请参考这些表格,了解哪些内容发生了变化,哪些内容保持不变。
将状态映射到 Emailable 状态
| ZeroBounce 状态 | Emailable 状态 |
|---|---|
valid |
deliverable
|
invalid |
undeliverable
|
catch-all |
risky
|
do_not_mail |
risky
|
abuse |
|
spamtrap |
|
unknown |
unknown
|
破折号表示没有匹配的“Emailable”状态。请使用“评分”和“风险”标志来决定您的应用程序应如何处理这些地址。
无等效状态
Spam trap lists are kept secret, so no verifier can identify them reliably. Read how to protect your list.
映射响应字段
| ZeroBounce 字段 | Emailable 字段 |
|---|---|
address |
email |
status |
state |
sub_status |
reason |
account |
user |
domain |
domain |
did_you_mean |
did_you_mean |
free_email |
free |
catchall_domain |
accept_all |
smtp_provider |
smtp_provider |
mx_record |
mx_record |
firstname |
first_name |
lastname |
last_name |
gender |
gender |
Emailable 还会返回以下字段,这些字段在ZeroBounce 中没有对应的字段:
score
role
disposable
mailbox_full
no_reply
tag
切换前请先测试
请先使用测试密钥连接您的集成。Emailable 的测试地址会返回固定结果,因此您可以在正式上线前测试所有状态和属性,而无需消耗积分。