IP 池管理
IP 池提供多个出站 IP,支持自动健康检查和故障转移。当某个 IP 被封禁或被列入黑名单时,smtp-probe 会自动切换到下一个健康 IP。
向池中添加 IP
# 添加 IP,可选指定反向 DNS 域名
smtp-probe pool add 1.2.3.4 --domain mail-a.example.com
smtp-probe pool add 1.2.3.5 --domain mail-b.example.com查看池状态
smtp-probe pool list展示每个 IP 的状态(healthy、blacklisted、timeout)、上次检查时间和失败次数。
健康检查
对池中所有 IP 进行 RBL 黑名单扫描:
# 检查所有池中 IP
smtp-probe pool check
# 检查指定 IP
smtp-probe pool check 1.2.3.4自动故障转移
在 verify 命令中使用 --pool:
smtp-probe verify user@example.com --pool故障转移行为:
- 从池中选择第一个健康 IP
- 尝试建立 SMTP 连接
- 若服务器返回
5xx(被封禁/黑名单),将该 IP 标记为blacklisted - 使用下一个健康 IP 重试
- 最多重试 3 次后放弃
移除 IP
smtp-probe pool remove 1.2.3.4池持久化
池数据存储在 ~/.smtp-probe/pool.json,跨重启持久化。
{
"ips": [
{"ip": "1.2.3.4", "domain": "mail-a.example.com", "status": "healthy"},
{"ip": "1.2.3.5", "domain": "mail-b.example.com", "status": "blacklisted"}
]
}