API 文档
简单、快速、免费的临时邮箱检测 API。无需身份验证,只需检查 HTTP 状态码即可获得即时结果。
快速开始
使用我们 REST API 接口在几秒内构建临时邮箱验证功能。无需 API 密钥、无需注册、无需复杂设置 - 只需发送 GET 请求并检查 HTTP 状态码即可获得结果。
https://disposableemailchecker.com/api/check?email=test@10minutemail.com
这似乎是一个临时邮箱地址
这个邮箱看起来是正常的
工作原理
我们的 API 使用 HTTP 状态码来指示结果,使集成变得极其简单。响应正文包含人类可读的消息以提供额外的上下文。
状态码逻辑
API 端点
1. 邮箱检查端点
检查完整的邮箱地址是否为临时邮箱。这是用户注册验证最常见的用例。
/api/check?email={email}
2. 域名检查端点 (隐私友好)
为了更好的隐私保护,您可以只检查域名部分而不是完整的邮箱地址。这可以防止任何个人信息被传输或记录。
使用仅域名检查意味着不会向我们的服务器传输个人邮箱地址,在获得准确的临时邮箱检测的同时提供最大的隐私保护。
/api/check?domain={domain}
代码示例
以下是流行编程语言的实用示例。专注于 HTTP 状态码获取结果,可选择性地读取响应正文获取人类可读的消息。
JavaScript / Node.js
async function checkEmail(email) { try { const response = await fetch( `https://disposableemailchecker.com/api/check?email=${encodeURIComponent(email)}` ); if (response.status === 200) { const message = await response.text(); console.log('✅ Valid email:', message); return true; // Allow registration } else if (response.status === 403) { const message = await response.text(); console.log('❌ Disposable email:', message); return false; // Block registration } else { const error = await response.text(); console.log(`⚠️ Check failed (${response.status}):`, error); return null; // Handle error } } catch (error) { console.error('❌ Request failed:', error); return null; } } // Domain check (privacy-friendly) async function checkDomain(domain) { try { const response = await fetch( `https://disposableemailchecker.com/api/check?domain=${encodeURIComponent(domain)}` ); return response.status === 200; // true = legitimate, false = disposable } catch (error) { console.error('❌ Request failed:', error); return null; } } // Usage examples checkEmail('user@gmail.com'); checkEmail('test@10minutemail.com'); checkDomain('gmail.com');
Python
import requests from urllib.parse import quote def check_email(email): """Check if email is disposable""" url = f"https://disposableemailchecker.com/api/check?email={quote(email)}" try: response = requests.get(url, timeout=5) if response.status_code == 200: print(f"✅ Valid email: {response.text}") return True # Allow registration elif response.status_code == 403: print(f"❌ Disposable email: {response.text}") return False # Block registration else: print(f"⚠️ Check failed ({response.status_code}): {response.text}") return None # Handle error except requests.RequestException as e: print(f"❌ Request failed: {e}") return None def check_domain(domain): """Check domain only (privacy-friendly)""" url = f"https://disposableemailchecker.com/api/check?domain={quote(domain)}" try: response = requests.get(url, timeout=5) return response.status_code == 200 # True = legitimate, False = disposable except requests.RequestException as e: print(f"❌ Request failed: {e}") return None # Usage examples check_email('user@gmail.com') check_email('test@10minutemail.com') check_domain('gmail.com')
PHP
<?php function checkEmail($email) { $url = 'https://disposableemailchecker.com/api/check?email=' . urlencode($email); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 5); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($httpCode === 200) { echo "✅ Valid email: " . $response . "\n"; return true; // Allow registration } elseif ($httpCode === 403) { echo "❌ Disposable email: " . $response . "\n"; return false; // Block registration } else { echo "⚠️ Check failed ({$httpCode}): " . $response . "\n"; return null; // Handle error } } function checkDomain($domain) { $url = 'https://disposableemailchecker.com/api/check?domain=' . urlencode($domain); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 5); curl_setopt($ch, CURLOPT_NOBODY, true); // HEAD request for status only curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); return $httpCode === 200; // true = legitimate, false = disposable } // Usage examples checkEmail('user@gmail.com'); checkEmail('test@10minutemail.com'); var_dump(checkDomain('gmail.com')); ?>
cURL 命令行
# Check email with status code and response curl -w "HTTP Status: %{http_code}\n" \ "https://disposableemailchecker.com/api/check?email=test@10minutemail.com" # Check domain only (privacy-friendly) curl -w "HTTP Status: %{http_code}\n" \ "https://disposableemailchecker.com/api/check?domain=10minutemail.com" # Get only status code (for scripts) curl -s -o /dev/null -w "%{http_code}" \ "https://disposableemailchecker.com/api/check?email=user@gmail.com" # Batch check multiple emails for email in "user@gmail.com" "test@tempmail.org" "admin@yahoo.com"; do echo "Checking $email:" curl -w "Status: %{http_code}\n" \ "https://disposableemailchecker.com/api/check?email=$email" echo "---" done
最佳实践
使用域名替代邮箱地址保护隐私
如果对隐私有要求,可以在客户端从邮箱地址中提取域名,只向我们的 API 发送域名。这可以防止任何个人邮箱地址被传输或记录,提供最大的隐私保护。
只需关注状态码
HTTP 状态码告诉您所需要知道的一切。200 = 允许,403 = 阻止。您可以选择性地读取响应正文获取人类可读的消息,但状态码对大多数用例来说已经足够。
优雅地进行错误处理
当 API 不可用时,始终实施回退逻辑。在出现错误(4xx/5xx 状态码)的情况下,考虑允许注册继续进行,而不是阻止合法用户。设置合理的超时时间(3-5 秒)。
使用缓存提高速度
为常见域名缓存结果以减少 API 调用并提高性能。大多数临时邮箱域名的状态不会频繁更改,因此缓存 24-48 小时通常是安全的,并且可以减少服务器负载。
多条件判断邮箱状态
在生产环境中,当检测地址为临时邮箱时,推荐与其它因素结合判断是否需要阻止。例如:检查是否已有超过 5 个用户使用此域名,或者在过去 24 小时内是否有超过 3 个来自此域名的注册,只有达到条件才提示用户使用不同的邮箱。这种方法改善了用户体验并减少了误报的影响。
速率限制和公平使用
我们的 API 是免费的,不强制执行严格的速率限制,但我们要求您负责任地使用它,以确保每个人都能获得良好的性能。
公平使用指南
- 正常应用程序使用的合理请求量
- 实施缓存以避免对相同域名的重复请求
- 不要将 API 用于批量域名扫描或研究目的
- 如果您需要更高的限制用于合法用例,请联系我们
支持与反馈
需要集成 API 的帮助或发现了错误分类的域名?我们在这里提供帮助,并始终致力于提高我们的检测准确性。