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 小時通常是安全的,並且可以減少伺服器負載。
生產環境中的智慧阻止
在生產環境中,當檢測到一次性信箱時不要立即阻止用戶。相反,將 API 結果與其他因素結合:檢查是否已有超過 5 個用戶使用此網域,或者在過去 24 小時內是否有超過 3 個來自此網域的註冊。只有這樣才提示用戶使用不同的信箱。這種方法改善了用戶體驗並減少了誤報的影響。
速率限制和公平使用
我們的 API 是免費的,不強制執行嚴格的速率限制,但我們要求您負責任地使用它,以確保每個人都能獲得良好的效能。
公平使用指南
- 正常應用程式使用的合理請求量
- 實施快取以避免對相同網域的重複請求
- 不要將 API 用於批量網域掃描或研究目的
- 如果您需要更高的限制用於合法用例,請聯絡我們
支援與回饋
需要整合 API 的幫助或發現了錯誤分類的網域?我們在這裡提供幫助,並始終致力於提高我們的檢測準確性。
