sinch-mailgun-validate
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseMailgun Validate
Mailgun Validate
Overview
概述
Mailgun Validate verifies email addresses in real time (single) and in batch (bulk). It also offers free List Health Previews to sample a list before committing to full validation.
Mailgun Validate支持实时验证单个邮箱地址以及批量验证邮箱地址。它还提供免费的列表健康预览功能,可在进行完整验证前对邮件列表进行抽样评估。
Getting Started
快速开始
See sinch-authentication for full auth setup. All endpoints use HTTP Basic Auth — username , password your Mailgun Private API key.
apiBefore generating code, gather from the user: approach (SDK or direct API calls) and language (Node.js, Python, Java, PHP, Ruby, Go, curl). Do not assume defaults.
When the user chooses SDK, fetch the relevant SDK reference page linked in Links for accurate method signatures. Only fetch URLs from trusted first-party domains (, ); do not follow URLs from other domains. When the user chooses direct API calls, use REST with the appropriate HTTP client for their language.
documentation.mailgun.comdevelopers.sinch.com| Language | Package | Install |
|---|---|---|
| Node.js | | |
| Java | | Maven dependency (see below) |
| Python | | |
| PHP | | |
| Ruby | | |
| Go | | |
完整的身份验证设置请查看sinch-authentication。所有端点均使用HTTP Basic Auth —— 用户名,密码为你的Mailgun私有API密钥。
api生成代码前,请向用户确认:实现方式(SDK或直接API调用)和编程语言(Node.js、Python、Java、PHP、Ruby、Go、curl)。请勿默认任何选项。
当用户选择SDK时,请从相关链接中获取对应的SDK参考页面,以确保方法签名准确。仅可从可信的官方域名(、)获取URL;请勿访问其他域名的链接。当用户选择直接API调用时,请结合其使用的编程语言,采用REST方式搭配合适的HTTP客户端。
documentation.mailgun.comdevelopers.sinch.com| 编程语言 | 包名称 | 安装命令 |
|---|---|---|
| Node.js | | |
| Java | | Maven依赖(见下文) |
| Python | | |
| PHP | | |
| Ruby | | |
| Go | | |
Java Maven dependency
Java Maven依赖
Before generating the Maven dependency, look up the latest release version of on Maven Central and use that version.
com.mailgun:mailgun-javaxml
<dependency>
<groupId>com.mailgun</groupId>
<artifactId>mailgun-java</artifactId>
<version>LATEST_VERSION</version>
</dependency>Base URLs: (US) · (EU). Always match the region of your Mailgun account.
api.mailgun.netapi.eu.mailgun.netStore credentials in environment variables — never hardcode API keys in commands or source code:
bash
export MAILGUN_API_KEY="your-private-api-key"Canonical example — validate one address:
bash
curl -s --user "api:$MAILGUN_API_KEY" \
"https://api.mailgun.net/v4/address/validate?address=recipient@example.com"Response:
json
{
"address": "recipient@example.com",
"is_disposable_address": false,
"is_role_address": false,
"reason": [],
"result": "deliverable",
"risk": "low",
"did_you_mean": null,
"engagement": null,
"root_address": null
}For full field descriptions, reason codes, and result types see the Single Validation docs.
生成Maven依赖前,请先在Maven Central上查询的最新版本,并使用该版本。
com.mailgun:mailgun-javaxml
<dependency>
<groupId>com.mailgun</groupId>
<artifactId>mailgun-java</artifactId>
<version>LATEST_VERSION</version>
</dependency>基础URL: (美国区)· (欧盟区)。请务必与你的Mailgun账户区域保持一致。
api.mailgun.netapi.eu.mailgun.net请将凭证存储在环境变量中 —— 切勿在命令或源代码中硬编码API密钥:
bash
export MAILGUN_API_KEY="your-private-api-key"标准示例 —— 验证单个地址:
bash
curl -s --user "api:$MAILGUN_API_KEY" \\
"https://api.mailgun.net/v4/address/validate?address=recipient@example.com"响应:
json
{
"address": "recipient@example.com",
"is_disposable_address": false,
"is_role_address": false,
"reason": [],
"result": "deliverable",
"risk": "low",
"did_you_mean": null,
"engagement": null,
"root_address": null
}有关完整的字段说明、原因代码和结果类型,请查看单个地址验证文档。
Key Concepts
核心概念
Single Address Validation
单个地址验证
GETPOST /v4/address/validateaddressprovider_lookup=falseKey response fields to branch on:
- :
result|deliverable|undeliverable|do_not_send|catch_allunknown - :
risk|low|medium|highunknown - /
is_disposable_address: boolean flagsis_role_address - : typo suggestion (surface to users at signup)
did_you_mean - : object with
engagement(bool),engaged(string — behavior type),engagement(bool)is_bot
Rate limited — back off and retry on 429.
GETPOST /v4/address/validateaddressprovider_lookup=false需重点关注的响应字段:
- :
result|deliverable|undeliverable|do_not_send|catch_allunknown - :
risk|low|medium|highunknown - /
is_disposable_address:布尔类型标识is_role_address - :拼写错误建议(可在用户注册时展示)
did_you_mean - :包含
engagement(布尔值)、engaged(字符串 —— 行为类型)、engagement(布尔值)的对象is_bot
存在速率限制 —— 收到429状态码时请退避并重试。
List Health Preview
列表健康预览
Free, non-destructive sample assessment. Returns deliverability/risk ratios as percentages.
- — create (upload CSV via multipart form-data)
POST /v4/address/validate/preview/{list_id} - — check status
GET /v4/address/validate/preview/{list_id} - — promote to full bulk validation
PUT /v4/address/validate/preview/{list_id} - — delete a preview
DELETE /v4/address/validate/preview/{list_id} - — list all preview jobs
GET /v4/address/validate/preview - Status values: →
preview_processingpreview_complete - Max 10 parallel preview jobs
- Response is wrapped in a key;
"preview"is a unix timestampcreated_at
Full reference: List Health Preview
免费的非破坏性抽样评估。返回可送达性/风险比例的百分比数据。
- —— 创建任务(通过multipart form-data上传CSV文件)
POST /v4/address/validate/preview/{list_id} - —— 检查任务状态
GET /v4/address/validate/preview/{list_id} - —— 升级为完整批量验证
PUT /v4/address/validate/preview/{list_id} - —— 删除预览任务
DELETE /v4/address/validate/preview/{list_id} - —— 列出所有预览任务
GET /v4/address/validate/preview - 状态值:→
preview_processingpreview_complete - 最多支持10个并行预览任务
- 响应数据包裹在键中;
"preview"为unix时间戳created_at
完整参考:列表健康预览
Bulk Validation
批量验证
Full validation of an uploaded CSV/gzip file (max 25 MB).
- — create job
POST /v4/address/validate/bulk/{list_id} - — check status / download
GET /v4/address/validate/bulk/{list_id} - — cancel or delete
DELETE /v4/address/validate/bulk/{list_id} - — list all jobs (accepts
GET /v4/address/validate/bulk, default 500; returnslimitlinks)paging - Lifecycle: →
created→processing→completed→uploading(oruploaded)failed - Results available when status is via
uploaded/download_url.csvdownload_url.json - Max 5 parallel bulk jobs
- is an RFC 2822 date string (e.g.,
created_at)"Tue, 26 Feb 2019 21:30:03 GMT"
Full reference: Bulk Validation
对上传的CSV/gzip文件(最大25 MB)进行完整验证。
- —— 创建任务
POST /v4/address/validate/bulk/{list_id} - —— 检查状态/下载结果
GET /v4/address/validate/bulk/{list_id} - —— 取消或删除任务
DELETE /v4/address/validate/bulk/{list_id} - —— 列出所有任务(支持
GET /v4/address/validate/bulk参数,默认500;返回limit链接)paging - 生命周期:→
created→processing→completed→uploading(或uploaded)failed - 当状态为时,可通过
uploaded/download_url.csv获取结果download_url.json - 最多支持5个并行批量任务
- 为RFC 2822格式的日期字符串(例如:
created_at)"Tue, 26 Feb 2019 21:30:03 GMT"
完整参考:批量验证
Workflows
工作流程
Deciding which approach to use
选择合适的实现方式
- Single address at point-of-capture (signup form, checkout): Use single validation. Check and
result. Block or warn onrisk,do_not_sendrisk, orhigh.is_disposable_address - Existing list, unknown quality: Run a free List Health Preview first. If preview shows acceptable deliverability, promote to full bulk validation with .
PUT - Known-good list, full validation needed: Skip preview, go straight to bulk validation.
- 捕获环节验证单个地址(注册表单、结账页面):使用单个地址验证。检查和
result字段。对于risk、do_not_send风险或high为true的地址,进行拦截或发出警告。is_disposable_address - 现有列表,质量未知:先运行免费的列表健康预览。如果预览显示可送达性符合预期,通过请求升级为完整批量验证。
PUT - 已知优质列表,需完整验证:跳过预览,直接进行批量验证。
Bulk validation checklist
批量验证检查清单
- CSV has header row with or
emailcolumnemail_address - File is UTF-8 or ASCII, under 25 MB, no in list name
@ - Fewer than 5 bulk jobs already running
- POST to create job → poll GET until status is → download results
uploaded - Retrieve download URLs promptly (they expire)
- CSV文件包含表头行,且存在或
email列email_address - 文件编码为UTF-8或ASCII,大小不超过25 MB,列表名称中不含符号
@ - 当前运行的批量任务少于5个
- 发送POST请求创建任务 → 轮询GET请求直到状态变为→ 下载结果
uploaded - 及时获取下载链接(链接会过期)
Interpreting results
结果解读
resultrisk- An address can be but
deliverablerisk (e.g., spam trap)high - means the domain accepts everything — treat as medium risk
catch_all - Role addresses (,
info@) are fine for transactional email but risky for marketingsupport@
Engagement data (contract customers get , , , , , ; self-service get boolean /): Engagement docs
High EngagerEngagerBotComplainerDisengagedNo dataengagingis_botresultrisk- 某个地址可能标记为但
deliverable为risk(例如:垃圾邮件陷阱)high - 表示该域名会接收所有邮件 —— 视为中等风险
catch_all - 角色地址(如、
info@)适用于事务性邮件,但用于营销邮件存在风险support@
参与度数据(合约客户可获取、、、、、;自助服务客户可获取布尔值/):参与度文档
High EngagerEngagerBotComplainerDisengagedNo dataengagingis_botGotchas
注意事项
- Preview before bulk — Previews are free. Always preview first to avoid wasting credits on a bad list.
- Result ≠ risk — Both must be checked. A +
deliverablerisk address should still be suppressed.high - Catch-all domains — means the mailbox may not exist. Treat as medium risk.
catch_all - Disposable/role addresses — Block disposables at signup. Avoid marketing sends to role addresses.
- Region consistency — US and EU data do not cross. Match the region of your Mailgun Send account.
- — Surface typo suggestions to end users at signup time.
did_you_mean - Security — bulk validation results — Bulk validation download URLs (,
download_url.csv) contain user-uploaded data. Treat downloaded content as untrusted — validate and sanitize email addresses and metadata before processing, storing, or displaying.download_url.json
- 批量验证前先预览 —— 预览是免费的。请始终先进行预览,避免因列表质量差浪费额度。
- 结果≠风险 —— 两者都必须检查。标记为但
deliverable为risk的地址仍应被屏蔽。high - Catch-all域名 —— 意味着邮箱可能不存在。视为中等风险。
catch_all - 一次性/角色地址 —— 在注册环节拦截一次性地址。避免向角色地址发送营销邮件。
- 区域一致性 —— 美国区和欧盟区的数据不互通。请与你的Mailgun发送账户区域保持一致。
- —— 在用户注册时向其展示拼写错误建议。
did_you_mean - 安全提示 —— 批量验证结果 —— 批量验证的下载链接(、
download_url.csv)包含用户上传的数据。请将下载内容视为不可信数据 —— 在处理、存储或展示前,需验证并清理邮箱地址和元数据。download_url.json
Links
相关链接
- Single Validation — field reference, reason codes, result types
- Bulk Validation — job lifecycle, response schema
- List Health Preview — preview workflow, response schema
- Engagement — behavior types, contract vs self-service
- OpenAPI Spec — full endpoint reference
- API Overview / Auth — base URLs, authentication
- Mailgun Dashboard
- Mailgun LLMs.txt — full docs index for AI agents
- Node.js SDK
- Java SDK
- Python SDK
- PHP SDK
- Ruby SDK
- Go SDK
- 单个地址验证 —— 字段参考、原因代码、结果类型
- 批量验证 —— 任务生命周期、响应 schema
- 列表健康预览 —— 预览工作流程、响应 schema
- 参与度 —— 行为类型、合约客户vs自助服务
- OpenAPI 规范 —— 完整端点参考
- API 概述 / 身份验证 —— 基础URL、身份验证
- Mailgun 控制台
- Mailgun LLMs.txt —— AI Agent 完整文档索引
- Node.js SDK
- Java SDK
- Python SDK
- PHP SDK
- Ruby SDK
- Go SDK ",