📖 API 文档

寻游取件 API 完整使用指南

⚠️

必看:推荐 API 使用流程

为了确保能准确获取到目标邮件(如验证码),建议按以下流程操作:

1
📊 获取邮件数量
调用 /api/mail-count 获取当前邮箱中的邮件总数
⬇️
2
📤 触发邮件发送
在目标网站执行操作(如注册/找回密码),触发验证码邮件发送
⬇️
3
📧 获取第N封邮件
调用 /api/mail-by-index,设置 index = 邮件数量 获取最新邮件
💡 为什么这样设计?
由于邮件到达存在延迟,直接获取"最新邮件"可能拿到的是旧邮件。通过先获取邮件数量,触发发送后,新邮件会成为第N封(N=邮件数量+1 ),通过 index = 邮件数量 即可准确获取刚刚发送的验证码邮件。
📊

获取邮件数量

获取指定邮箱文件夹中的邮件总数

GET POST
/api/mail-count
参数名类型必填说明
emailstring✅ 是邮箱地址
mailboxstring❌ 否邮箱文件夹 (INBOX / Junk),默认 INBOX
import requests # GET 请求示例 - 获取收件箱邮件数量 url = "https://yourdomain.com/api/mail-count" params = { "email": "your_email@example.com", "mailbox": "INBOX" } try: response = requests.get(url, params=params) response.raise_for_status() data = response.json() print(f"邮箱 {data.get('mailbox')} 共有 {data.get('count')} 封邮件") except requests.exceptions.RequestException as e: print(f"请求错误: {e}")
import requests # POST 请求示例 - 获取垃圾箱邮件数量 url = "https://yourdomain.com/api/mail-count" data = { "email": "your_email@example.com", "mailbox": "Junk" } try: response = requests.post(url, json=data) response.raise_for_status() print(response.json()) except requests.exceptions.RequestException as e: print(f"请求错误: {e}")
🔢

获取第N封邮件

获取指定序号的邮件,index=1 表示第一封(最旧的),index=5 表示第5封,以此类推

GET POST
/api/mail-by-index
参数名类型必填说明
emailstring✅ 是邮箱地址
mailboxstring❌ 否邮箱文件夹 (INBOX / Junk),默认 INBOX
indexinteger❌ 否邮件序号,从1开始,1表示第一封(最旧的),默认1
index 参数从1开始计数,按邮件到达顺序,1表示第一封(最旧的),数字越大表示邮件越新
import requests # GET 请求示例 - 获取第3封邮件(第3新的) url = "https://yourdomain.com/api/mail-by-index" params = { "email": "your_email@example.com", "mailbox": "INBOX", "index": 3 } try: response = requests.get(url, params=params) response.raise_for_status() data = response.json() mail = data.get('mail', {}) print(f"第 {mail.get('index')} 封邮件") print(f"主题: {mail.get('subject')}") print(f"内容: {mail.get('body')}") except requests.exceptions.RequestException as e: print(f"请求错误: {e}")
import requests # POST 请求示例 url = "https://yourdomain.com/api/mail-by-index" data = { "email": "your_email@example.com", "mailbox": "INBOX", "index": 1 } try: response = requests.post(url, json=data) response.raise_for_status() print(response.json()) except requests.exceptions.RequestException as e: print(f"请求错误: {e}")
✉️

获取最新一封邮件

获取邮箱中最新(最后一封)的邮件,返回邮件序号和总数

GET POST
/api/mail-latest
参数名类型必填说明
emailstring✅ 是邮箱地址
mailboxstring❌ 否邮箱文件夹 (INBOX / Junk),默认 INBOX
import requests # GET 请求示例 - 获取最新邮件 url = "https://yourdomain.com/api/mail-latest" params = { "email": "your_email@example.com", "mailbox": "INBOX" } try: response = requests.get(url, params=params) response.raise_for_status() data = response.json() mail = data.get('mail', {}) print(f"第 {mail.get('index')} 封邮件(共 {mail.get('total')} 封)") print(f"主题: {mail.get('subject')}") except requests.exceptions.RequestException as e: print(f"请求错误: {e}")
import requests # POST 请求示例 url = "https://yourdomain.com/api/mail-latest" data = { "email": "your_email@example.com", "mailbox": "INBOX" } try: response = requests.post(url, json=data) response.raise_for_status() data = response.json() mail = data.get('mail', {}) print(f"第 {mail.get('index')} 封邮件(共 {mail.get('total')} 封)") print(f"主题: {mail.get('subject')}") except requests.exceptions.RequestException as e: print(f"请求错误: {e}")
📂

获取全部邮件

获取邮箱中的所有邮件,自动提取6位数字验证码

GET POST
/api/mail-all
参数名类型必填说明
emailstring✅ 是邮箱地址
mailboxstring✅ 是邮箱文件夹 (INBOX / Junk)
import requests # GET 请求示例 url = "https://yourdomain.com/api/mail-all" params = { "email": "your_email@example.com", "mailbox": "INBOX" } try: response = requests.get(url, params=params) response.raise_for_status() data = response.json() print(f"获取到 {len(data.get('mails', []))} 封邮件") for mail in data.get('mails', []): print(f"主题: {mail.get('subject', 'N/A')}") print(f"验证码: {mail.get('verification_code')}") except requests.exceptions.RequestException as e: print(f"请求错误: {e}")
import requests # POST 请求示例 url = "https://yourdomain.com/api/mail-all" data = { "email": "your_email@example.com", "mailbox": "INBOX" } try: response = requests.post(url, json=data) response.raise_for_status() print(response.json()) except requests.exceptions.RequestException as e: print(f"请求错误: {e}")
🗑️

清空邮箱

清空指定邮箱文件夹中的所有邮件,支持清空收件箱或垃圾箱

GET POST
/api/clear-mails
参数名类型必填说明
emailstring✅ 是邮箱地址
mailboxstring❌ 否邮箱文件夹 (INBOX / Junk),默认 INBOX
此操作会永久删除邮件,请谨慎使用!
import requests # GET 请求示例 - 清空收件箱 url = "https://yourdomain.com/api/clear-mails" params = { "email": "your_email@example.com", "mailbox": "INBOX" } try: response = requests.get(url, params=params) response.raise_for_status() data = response.json() print(f"成功清空 {data.get('deleted_count')} 封邮件") except requests.exceptions.RequestException as e: print(f"请求错误: {e}")
import requests # POST 请求示例 - 清空垃圾箱 url = "https://yourdomain.com/api/clear-mails" data = { "email": "your_email@example.com", "mailbox": "Junk" } try: response = requests.post(url, json=data) response.raise_for_status() print("垃圾箱清空成功!") except requests.exceptions.RequestException as e: print(f"请求错误: {e}")
🔑

Boobar 接口

验证邮箱和令牌,返回验证结果和新的 refresh_token

GET POST
/api/boobar
参数名类型必填说明
emailstring✅ 是邮箱地址
import requests # GET 请求示例 url = "https://yourdomain.com/api/boobar" params = { "email": "your_email@example.com" } try: response = requests.get(url, params=params) response.raise_for_status() data = response.json() print(f"验证结果: {data.get('success')}") print(f"邮箱: {data.get('email')}") print(f"新的 refresh_token: {data.get('new_refresh_token')}") print(f"令牌状态: {data.get('token_status')}") except requests.exceptions.RequestException as e: print(f"请求错误: {e}")
import requests # POST 请求示例 url = "https://yourdomain.com/api/boobar" data = { "email": "your_email@example.com" } try: response = requests.post(url, json=data) response.raise_for_status() data = response.json() print(f"验证结果: {data.get('success')}") print(f"邮箱: {data.get('email')}") print(f"新的 refresh_token: {data.get('new_refresh_token')}") print(f"令牌状态: {data.get('token_status')}") except requests.exceptions.RequestException as e: print(f"请求错误: {e}")
📥

清空收件箱(旧接口)

清空收件箱中的所有邮件(旧版接口,兼容保留)

GET POST
/api/process-inbox
参数名类型必填说明
emailstring✅ 是邮箱地址
此操作会永久删除邮件,请谨慎使用!
import requests # GET 请求示例 - 清空收件箱 url = "https://yourdomain.com/api/process-inbox" params = { "email": "your_email@example.com" } try: response = requests.get(url, params=params) response.raise_for_status() data = response.json() print(f"成功清空 {data.get('deleted_count')} 封邮件") except requests.exceptions.RequestException as e: print(f"请求错误: {e}")
import requests # POST 请求示例 - 清空收件箱 url = "https://yourdomain.com/api/process-inbox" data = { "email": "your_email@example.com" } try: response = requests.post(url, json=data) response.raise_for_status() print("收件箱清空成功!") except requests.exceptions.RequestException as e: print(f"请求错误: {e}")
🗑️

清空垃圾箱(旧接口)

清空垃圾箱中的所有邮件(旧版接口,兼容保留)

GET POST
/api/process-junk
参数名类型必填说明
emailstring✅ 是邮箱地址
此操作会永久删除邮件,请谨慎使用!
import requests # GET 请求示例 - 清空垃圾箱 url = "https://yourdomain.com/api/process-junk" params = { "email": "your_email@example.com" } try: response = requests.get(url, params=params) response.raise_for_status() data = response.json() print(f"成功清空 {data.get('deleted_count')} 封邮件") except requests.exceptions.RequestException as e: print(f"请求错误: {e}")
import requests # POST 请求示例 - 清空垃圾箱 url = "https://yourdomain.com/api/process-junk" data = { "email": "your_email@example.com" } try: response = requests.post(url, json=data) response.raise_for_status() print("垃圾箱清空成功!") except requests.exceptions.RequestException as e: print(f"请求错误: {e}")
📈

Boobar Graph 接口

使用 Graph API 验证邮箱和令牌,返回验证结果和邮件查看页面

GET
/api/boobar-graph
参数名类型必填说明
emailstring✅ 是邮箱地址
import requests # GET 请求示例 url = "https://yourdomain.com/api/boobar-graph" params = { "email": "your_email@example.com" } try: response = requests.get(url, params=params) response.raise_for_status() print("Boobar Graph 接口访问成功") # 此接口返回 HTML 页面,可直接在浏览器中访问 except requests.exceptions.RequestException as e: print(f"请求错误: {e}")
📨

获取邮件(原接口)

获取指定数量的邮件,同时返回 INBOX 和 Junk 的邮件(旧版接口,兼容保留)

POST
/api/fetch-emails
参数名类型必填说明
emailstring✅ 是邮箱地址
countinteger❌ 否获取数量,默认 1
import requests # POST 请求示例 url = "https://yourdomain.com/api/fetch-emails" data = { "email": "your_email@example.com", "count": 5 } try: response = requests.post(url, json=data) response.raise_for_status() result = response.json() print(f"收件箱: {len(result.get('inbox', []))} 封") print(f"垃圾箱: {len(result.get('junk', []))} 封") except requests.exceptions.RequestException as e: print(f"请求错误: {e}")