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 的幫助或發現了錯誤分類的網域?我們在這裡提供幫助,並始終致力於提高我們的檢測準確性。