
适用场景在日常开发中邮箱地址的有效性直接关系到用户准备、消息推送、营销活动等环节的成败。传统做法往往只做正则格式校验但这类校验无法识别临时邮箱、域名无效、拼写错误等问题。邮箱地址检测接口提供一次请求完成六项检测的能力适用于以下典型场景用户准备与反垃圾在准备流程中拦截临时邮箱或无法接收邮件的地址。邮件营销列表清洗批量验证邮箱列表的可用性提高送达率。KYC风控辅助对高风险用户填写的邮箱进行综合评分辅助决策。账号恢复与通知确保系统发出的通知邮件能成功投递。接口能力边界该接口为综合性邮箱质量评估接口单次GET请求即可完成以下六项检测RFC 5322格式校验按照邮件地址标准格式验证语法正确性。临时/一次性邮箱检测基于开源域名库72,345条记录3个数据源合并去重识别。MX记录验证通过AliDNS DoH查询域名MX记录避免传统getmxrr()的不稳定性。拼写纠正对常见域名拼写错误进行提示如gmial.com建议gmail.com。服务商识别识别QQ邮箱、Gmail、网易、Outlook等40主流邮箱服务商。综合风险评分返回0-100的风险分数及详细原因清单。接口的QPS限制为10次/秒超出可能被限流详情以官方文档为准。请求参数与鉴权Query参数参数是否必填类型说明email是string要检测的邮箱地址最长254字符RFC 5321上限Header参数参数是否必填类型说明X-API-Key否stringAPI密钥不传时使用匿名额度可能有次数限制建议在正式环境中始终携带X-API-Key以保证稳定的调用权限。使用curl发起请求以下是一个完整的curl请求示例请将$APIZERO_API_KEY替换为你的实际API Keyemail替换为待检测邮箱curl -sS \ -X GET \ -H X-API-Key: $APIZERO_API_KEY \ https://v1.apizero.cn/api/email-check?emailemail例如检测testgmial.com故意拼写错误curl -sS \ -X GET \ -H X-API-Key: your_api_key_here \ https://v1.apizero.cn/api/email-check?emailtestgmial.com返回的JSON格式如下部分字段省略{ code: 0, msg: 成功, data: { email: testgmial.com, domain: gmial.com, local: test, valid_format: true, is_disposable: false, has_mx: false, provider: null, risk_score: 5, risk_level: invalid, reasons: [ ⚠️ 域名无 MX 记录无法接收邮件, ⚠️ 域名疑似拼写错误建议用 gmail.com, ⚠️ 本地部分含测试/系统类关键词 ], spelling_suggestion: gmail.com }, request_id: mota... }使用Python调用除了curl你也可以在Python中通过requests库调用该接口。以下是一个简单的示例import requests url https://v1.apizero.cn/api/email-check api_key your_api_key_here email testgmial.com headers {X-API-Key: api_key} params {email: email} response requests.get(url, headersheaders, paramsparams) data response.json() print(f风险评分: {data[data][risk_score]}) print(f风险等级: {data[data][risk_level]}) print(原因列表:) for reason in data[data][reasons]: print(f - {reason}) if data[data][spelling_suggestion]: print(f拼写建议: {data[data][spelling_suggestion]})运行后输出类似风险评分: 5 风险等级: invalid 原因列表: - ⚠️ 域名无 MX 记录无法接收邮件 - ⚠️ 域名疑似拼写错误建议用 gmail.com - ⚠️ 本地部分含测试/系统类关键词 拼写建议: gmail.com返回值字段解读响应最外层包含code、msg、data和request_id。code为0表示成功其他值为错误码。data对象中包含以下核心字段字段类型说明emailstring原始输入的邮箱地址domainstring邮箱域名部分localstring本地部分之前valid_formatboolean是否通过RFC 5322格式校验is_disposableboolean是否为临时/一次性邮箱disposable_matchstring or null命中的临时邮箱域名如有has_mxboolean域名是否存在MX记录mx_recordsarrayMX记录列表若无则为空数组providerstring or null邮箱服务商名称如gmail、qq、outlook等未识别时为nullis_trustedboolean是否属于可信服务商目前仅当provider为已知主流服务商时为truerisk_scoreinteger综合风险评分0-100分数越高风险越大risk_levelstring风险等级valid、risky、invalid等reasonsarray of string风险原因列表包含格式化提示、MX缺失、拼写建议等spelling_suggestionstring or null拼写纠正建议域名如gmail.com若无拼写错误则为null例如对一个正常邮箱usergmail.com返回结果中has_mx为truerisk_score通常为0或极低risk_level为validreasons可能为空或仅有正常提示。常见错误及处理1. 参数缺失或格式错误若未提供email参数或邮箱格式不符合规范接口可能返回code400。检查URL中email参数是否正确编码尤其是包含特殊字符时如号。2. API Key无效或匿名额度不足当使用无效的API Key或匿名额度耗尽时接口返回code401或code429。建议始终在Header中携带有效的X-API-Key。3. QPS超限超出10次/秒的限制会返回code429Too Many Requests。可通过增加重试休眠机制或请求排队来解决。4. 网络超时或DNS问题建议设置合理的超时时间如5秒并添加重试逻辑避免因网络抖动导致单次请求失败。工程化注意事项1. 缓存策略对同一邮箱多次验证的场景如重复提交建议在应用层做短时缓存例如缓存10分钟避免频繁调用消耗额度。注意缓存过期时间不要过长因为邮箱的MX记录和风险状态可能会变化。2. 批量验证如果需要批量验证大量邮箱务必控制并发数不超过QPS限制可采用队列或令牌桶限流。单次请求只支持一个邮箱批量时需循环调用。3. 安全与隐私邮箱地址属于用户隐私数据传输时应全程使用HTTPS接口已是HTTPS。不要在日志中明文记录完整邮箱可考虑只记录部分或哈希值。4. 结果使用根据risk_level和reasons做业务决策。例如risk_level为invalid→ 直接拒绝准备。risk_level为risky→ 可纳入人工审核或二次验证。risk_level为valid且is_disposable为false→ 可正常通过。5. 错误码扩展建议为每个业务场景编写相应的错误处理逻辑参考接口返回的code和msg。例如code500时可能为服务内部错误可等待后重试。参考文档邮箱地址检测接口文档原始接口说明