API 文件

簡單、快速、免費的一次性信箱檢測 API。無需身份驗證,只需檢查 HTTP 狀態碼即可獲得即時結果。

快速開始

使用我們簡單的 REST API 在幾秒鐘內開始。無需 API 金鑰、無需註冊、無需複雜設定 - 只需發送 GET 請求並檢查 HTTP 狀態碼即可獲得結果。

GET 請求
https://disposableemailchecker.com/api/check?email=test@10minutemail.com
一次性信箱 (狀態: 403)
這似乎是一個一次性信箱地址
合法信箱 (狀態: 200)
這個信箱看起來是合法的

工作原理

我們的 API 使用 HTTP 狀態碼來指示結果,使整合變得極其簡單。回應正文包含人類可讀的訊息以提供額外的上下文。

狀態碼邏輯

200
信箱合法 - 允許註冊
403
信箱為一次性信箱 - 阻止註冊
4xx/5xx
發生錯誤 - 檢查回應正文了解詳情

API 端點

1. 信箱檢查端點

檢查完整的信箱地址是否為一次性信箱。這是用戶註冊驗證最常見的用例。

方法:GET
回應:text/plain
URL:/api/check?email={email}

2. 網域檢查端點 (隱私友好)

為了更好的隱私保護,您可以只檢查網域部分而不是完整的信箱地址。這可以防止任何個人資訊被傳輸或記錄。

隱私提示

使用僅網域檢查意味著不會向我們的伺服器傳輸個人信箱地址,在獲得準確的一次性信箱檢測的同時提供最大的隱私保護。

方法:GET
回應:text/plain
URL:/api/check?domain={domain}

程式碼範例

以下是流行程式語言的實用範例。專注於 HTTP 狀態碼獲取結果,可選擇性地讀取回應正文獲取人類可讀的訊息。

JavaScript / Node.js

JAVASCRIPT
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

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
<?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 命令列

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

技術支援

整合遇到問題?需要特定用例的幫助?聯絡我們的技術團隊。

獲取技術幫助

提交網域回饋

發現了誤報或漏報?透過提交網域回饋幫助我們改進。我們會在 24 小時內審查所有提交。

提交回饋