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 小时通常是安全的,并且可以减少服务器负载。

多条件判断邮箱状态

在生产环境中,当检测地址为临时邮箱时,推荐与其它因素结合判断是否需要阻止。例如:检查是否已有超过 5 个用户使用此域名,或者在过去 24 小时内是否有超过 3 个来自此域名的注册,只有达到条件才提示用户使用不同的邮箱。这种方法改善了用户体验并减少了误报的影响。

速率限制和公平使用

我们的 API 是免费的,不强制执行严格的速率限制,但我们要求您负责任地使用它,以确保每个人都能获得良好的性能。

公平使用指南

  • 正常应用程序使用的合理请求量
  • 实施缓存以避免对相同域名的重复请求
  • 不要将 API 用于批量域名扫描或研究目的
  • 如果您需要更高的限制用于合法用例,请联系我们

支持与反馈

需要集成 API 的帮助或发现了错误分类的域名?我们在这里提供帮助,并始终致力于提高我们的检测准确性。

技术支持

集成遇到问题?需要特定用例的帮助?联系我们的技术团队。

获取技术帮助

提交域名反馈

发现了误报或漏报?通过提交域名反馈帮助我们改进。我们会在 24 小时内审查所有提交。

提交反馈