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 的帮助或发现了错误分类的域名?我们在这里提供帮助,并始终致力于提高我们的检测准确性。
