📖 API 文档
寻游取件 API 完整使用指南
必看:推荐 API 使用流程
为了确保能准确获取到目标邮件(如验证码),建议按以下流程操作:
1
📊 获取邮件数量
调用
/api/mail-count 获取当前邮箱中的邮件总数⬇️
2
📤 触发邮件发送
在目标网站执行操作(如注册/找回密码),触发验证码邮件发送
⬇️
3
📧 获取第N封邮件
调用
/api/mail-by-index,设置 index = 邮件数量 获取最新邮件💡 为什么这样设计?
由于邮件到达存在延迟,直接获取"最新邮件"可能拿到的是旧邮件。通过先获取邮件数量,触发发送后,新邮件会成为第N封(N=邮件数量+1 ),通过
index = 邮件数量 即可准确获取刚刚发送的验证码邮件。
获取邮件数量
获取指定邮箱文件夹中的邮件总数
GET
POST
/api/mail-count
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | ✅ 是 | 邮箱地址 | |
| mailbox | string | ❌ 否 | 邮箱文件夹 (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
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | ✅ 是 | 邮箱地址 | |
| mailbox | string | ❌ 否 | 邮箱文件夹 (INBOX / Junk),默认 INBOX |
| index | integer | ❌ 否 | 邮件序号,从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
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | ✅ 是 | 邮箱地址 | |
| mailbox | string | ❌ 否 | 邮箱文件夹 (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
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | ✅ 是 | 邮箱地址 | |
| mailbox | string | ✅ 是 | 邮箱文件夹 (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
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | ✅ 是 | 邮箱地址 | |
| mailbox | string | ❌ 否 | 邮箱文件夹 (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
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | ✅ 是 | 邮箱地址 |
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
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | ✅ 是 | 邮箱地址 |
此操作会永久删除邮件,请谨慎使用!
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
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | ✅ 是 | 邮箱地址 |
此操作会永久删除邮件,请谨慎使用!
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
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | ✅ 是 | 邮箱地址 |
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
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | ✅ 是 | 邮箱地址 | |
| count | integer | ❌ 否 | 获取数量,默认 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}")