iCloud Hide My Email · 公开接口文档
api_key(格式 alias_xxx)。在管理后台生成邮箱后获取。可通过 query 参数 ?key=xxx 或 header X-API-Key: xxx 传递。
{"status": "ok", "time": 1722931200}
{"success": true, "email": "xxx@icloud.com", "code": "123456", "mail_count": 3}
{"success": true, "email": "xxx@icloud.com", "code": "123456", "found": true}
// 超时未收到:
{"success": true, "email": "xxx@icloud.com", "code": "", "found": false, "message": "超时未收到验证码"}
{"key": "alias_xxx", "timeout": 60} // timeout=0 立即返回
{"success": true, "email": "xxx@icloud.com", "code": "123456", "found": true}
{"success": true, "email": "xxx@icloud.com", "new_key": "alias_abc123..."}
{
"success": true,
"email": "xxx@icloud.com",
"count": 2,
"method": "web_api",
"messages": [
{"id": "...", "from": "noreply@example.com", "subject": "验证码 123456", "preview": "...", "date": "2026-08-06T12:00:00+08:00"}
]
}
const API = 'http://your-server:8081';
const KEY = 'alias_your_key';
// 获取最新验证码
const res = await fetch(`${API}/api/v1/code?key=${KEY}`);
const data = await res.json();
console.log(data.code); // "123456"
// 长轮询等待验证码(最多60秒)
const res2 = await fetch(`${API}/api/v1/code/wait?key=${KEY}&timeout=60`);
const data2 = await res2.json();
if (data2.found) {
console.log('收到验证码:', data2.code);
}
import requests
API = 'http://your-server:8081'
KEY = 'alias_your_key'
# 获取最新验证码
r = requests.get(f'{API}/api/v1/code', params={'key': KEY})
print(r.json()['code']) # "123456"
# 列出所有邮件
r = requests.get(f'{API}/api/v1/messages', params={'key': KEY, 'limit': 10})
for msg in r.json()['messages']:
print(f"{msg['date']} | {msg['from']} | {msg['subject']}")
import requests
API = 'http://your-server:8081'
KEY = 'alias_your_key'
# POST 长轮询等待验证码
r = requests.post(f'{API}/api/v1/code', json={
'key': KEY,
'timeout': 60 # 最多等60秒
})
data = r.json()
if data.get('found'):
print(f"验证码: {data['code']}")
else:
print("超时未收到验证码")