HTTP API 参考
基础地址:http://localhost:8080(默认端口)
GET /v1/health
健康检查接口。
响应:
{"status": "ok"}GET /v1/check
对域名执行 DNS 健康检查。
参数:
| 参数 | 必填 | 说明 |
|---|---|---|
domain | 是 | 要检查的域名 |
示例:
curl "http://localhost:8080/v1/check?domain=gmail.com"响应:
{
"domain": "gmail.com",
"score": 95,
"spf": {
"valid": true,
"record": "v=spf1 redirect=_spf.google.com"
},
"dkim": {
"valid": true,
"selector": "google",
"domain": "gmail.com"
},
"dmarc": {
"valid": true,
"record": "v=DMARC1; p=reject; sp=reject",
"policy": "reject"
},
"mx": [
{"host": "gmail-smtp-in.l.google.com", "priority": 5},
{"host": "alt1.gmail-smtp-in.l.google.com", "priority": 10}
],
"ptr": {
"valid": false,
"reason": "no PTR record found"
}
}GET /v1/verify
SMTP 邮箱验证。
参数:
| 参数 | 必填 | 说明 |
|---|---|---|
email | 是 | 要验证的邮箱地址 |
bind_ip | 否 | SMTP 连接的源 IP |
timeout | 否 | 超时时间(如 30s、1m) |
disposable | 否 | 设为 true 检查一次性邮箱服务商 |
pool | 否 | 设为 true 使用 IP 池并自动故障转移 |
示例:
curl "http://localhost:8080/v1/verify?email=user@example.com&bind_ip=1.2.3.4"响应:
{
"email": "user@example.com",
"result": "accepted",
"code": 250,
"message": "2.1.5 OK",
"mx_server": "mail.example.com",
"disposable": false,
"ip_used": "1.2.3.4"
}GET /v1/blacklist
对 IP 地址进行 29 个 RBL 黑名单检查。
参数:
| 参数 | 必填 | 说明 |
|---|---|---|
ip | 是 | 要检查的 IP 地址 |
示例:
curl "http://localhost:8080/v1/blacklist?ip=1.2.3.4"响应:
{
"ip": "1.2.3.4",
"total": 29,
"listed": 0,
"results": [
{"blacklist": "Spamhaus ZEN", "listed": false},
{"blacklist": "SpamCop", "listed": false},
{"blacklist": "Barracuda", "listed": false}
]
}GET /v1/report
域名完整诊断报告。
参数:
| 参数 | 必填 | 说明 |
|---|---|---|
domain | 是 | 要生成报告的域名 |
响应:
综合 /v1/check 和 /v1/blacklist(针对所有 MX 服务器 IP)的输出结果。
对等节点接口(多节点模式)
| 接口 | 方法 | 说明 |
|---|---|---|
/v1/peer/register | POST | 注册对等节点 |
/v1/peer/peers | GET | 列出所有已注册的对等节点 |
/v1/peer/heartbeat | POST | 心跳保活 |
/v1/peer/geo | GET | GeoIP 查询(?ip=1.2.3.4) |