控制台现在由 FastAPI 提供,邮件存储位于 PostgreSQL,邮件写入入口由 Cloudflare Worker 调用内部接口。
Authorization: Bearer API_TOKEN。/api/auth/verify用于验证当前 Token 是否正确。
fetch("/api/auth/verify", {
method: "GET",
headers: {
Authorization: "Bearer " + token
}
});
/api/mailsrcptTo: 可选,按收件邮箱过滤。after: 可选,开始时间,ISO 字符串。before: 可选,结束时间,ISO 字符串。page: 页码,从 1 开始。pageSize: 每页条数,最大 100。const params = new URLSearchParams({
rcptTo: "[email protected]",
page: "1",
pageSize: "20"
});
fetch("/api/mails?" + params.toString(), {
method: "GET",
headers: {
Authorization: "Bearer " + token
}
});
/api/mails/{id}返回单封邮件的基础信息、头信息和原始内容。
fetch("/api/mails/MAIL_ID", {
method: "GET",
headers: {
Authorization: "Bearer " + token
}
});
/api/admin/auto-cleanup用于读取或更新后端自动清理开关与执行间隔。系统默认清理 10 分钟前的邮件。
fetch("/api/admin/auto-cleanup", {
method: "PUT",
headers: {
Authorization: "Bearer " + token,
"Content-Type": "application/json"
},
body: JSON.stringify({
enabled: true,
intervalMinutes: 10
})
});
/api/admin/cleanup-history仅在你手动触发时执行清理,也可传入 JSON body 指定 before 时间;不传时默认清理一天前的邮件。
fetch("/api/admin/cleanup-history", {
method: "POST",
headers: {
Authorization: "Bearer " + token,
"Content-Type": "application/json"
},
body: JSON.stringify({
before: "2025-01-01T00:00:00.000Z"
})
});
/internal/emails仅供 Cloudflare Worker 调用,负责把收到的邮件落到 PostgreSQL。
fetch("/internal/emails", {
method: "POST",
headers: {
Authorization: "Bearer " + token,
"Content-Type": "application/json"
},
body: JSON.stringify(payload)
});
GET /api/mail/{email}?after=&before=&page=1&pageSize=20GET /api/mail/{email}/{id}