Skip to content
IP Pool Management

IP Pool Management

IP pool provides multiple outbound IPs with automatic health checking and failover. When one IP is blocked or blacklisted, smtp-probe switches to the next healthy IP automatically.

Adding IPs to the Pool

# Add an IP with an optional reverse DNS domain
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

Listing Pool Status

smtp-probe pool list

Displays each IP with its status (healthy, blacklisted, timeout), last check time, and failure count.

Health Checks

Scan all IPs in the pool against RBL blacklists:

# Check all pool IPs
smtp-probe pool check

# Check a specific IP
smtp-probe pool check 1.2.3.4

Automatic Failover

When using --pool with the verify command:

smtp-probe verify user@example.com --pool

Failover behavior:

  1. Select the first healthy IP from the pool
  2. Attempt SMTP connection
  3. If the server returns 5xx (blocked/blacklisted), mark the IP as blacklisted
  4. Retry with the next healthy IP
  5. Up to 3 retries before giving up

Removing an IP

smtp-probe pool remove 1.2.3.4

Pool Persistence

The pool is stored at ~/.smtp-probe/pool.json and persists across restarts.

{
  "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"}
  ]
}