SMTP Verification
The verify command connects to a domain’s MX server and performs an SMTP RCPT TO check to determine whether a specific mailbox exists.
How It Works
1. Resolve MX records for the target domain
2. Connect to the primary MX server on port 25
3. Send EHLO, MAIL FROM, and RCPT TO commands
4. Parse the server response code:
- 2xx: mailbox accepted
- 4xx: temporary failure (greylisting, rate limiting)
- 5xx: mailbox rejected (does not exist, or policy block)Basic Usage
smtp-probe verify user@example.comPort 25 Requirements
The check command (DNS-based) works without port 25.
Bind IP
Send SMTP connections from a specific IP address (useful when your server has multiple outbound IPs):
smtp-probe verify user@example.com --bind-ip 1.2.3.4Timeout
Adjust the connection and response timeout:
smtp-probe verify user@example.com --timeout 30sCombined with Disposable Email Detection
Skip the SMTP handshake entirely if the domain is a known disposable provider:
smtp-probe verify user@mailinator.com --disposableCombined with Free Email Detection
Mark the address as a free email provider and continue with SMTP verification:
smtp-probe verify user@gmail.com --freeUnlike disposable detection, free email detection does not skip SMTP — it only annotates the result.
Combined with IP Pool
Use the IP pool for automatic failover — if one IP gets blocked, the next healthy IP is tried:
smtp-probe verify user@example.com --poolResponse Codes
| Code Range | Meaning |
|---|---|
2xx | Mailbox accepted / exists |
4xx | Temporary rejection (retry later) |
5xx | Permanent rejection (does not exist or policy block) |
5xx response does not always mean the mailbox does not exist. Some providers return 550 as a catch-all rejection to prevent address harvesting.Role-Based Email Detection
smtp-probe automatically detects role-based email addresses (e.g., admin@, support@, marketing@):
Role : ⚠ Yes (MARKETING)When a role address is detected, the result includes the IsRole flag and RoleCategory classification. Role addresses are checked before SMTP verification, so the detection applies to all verification paths.
Domain Typo Suggestion
When the domain has a typo or SMTP verification fails, smtp-probe suggests the likely correct domain:
Suggestion : 💡 Did you mean user@gmail.com?Suggestions are triggered when:
- MX lookup fails or returns no records
- SMTP connection fails (statusCode 0)
- SMTP returns a 5xx permanent rejection