Understanding Results & Provider Limits
Email verification combines syntax, DNS, MX, SMTP response where available, and risk signals. Some mailbox providers intentionally make mailbox-level confirmation impossible, so Kawaa flags those cases instead of presenting them as confirmed mailboxes.
Status Is the Primary Verdict
| Status | How to use it |
|---|---|
valid | Low risk. Use for normal sends, while still honoring unsubscribe and consent rules. |
risky | Use caution or skip. The address may receive mail, but a risk signal or provider limitation remains. |
unknown | Do not treat as confirmed. Retry later or use another confirmation signal. |
invalid | Do not send. The address failed a hard verification check. |
Quality Score
The score is a supporting number, not a replacement for status and sub_status. Risky, unknown, catch-all, policy-blocked, greylisted, and connection-failure results are capped so they cannot outrank their caveat.
Catch-All Domains
A catch-all domain accepts mail for many or all local parts. Kawaa marks these as risky or catch_all because SMTP cannot prove whether a specific mailbox belongs to a real user.
Provider Accept-All
Consumer mailbox providers such as Outlook-family domains can accept verification probes for addresses that may not exist. These results are down-ranked and flagged with provider_accept_all.
SDK Booleans
SDK helpers such as isDeliverable are true only when the API status is valid. For automation, also inspect status, sub_status, and verification details before sending.
Recommended Automation
- Send normally only for
status: valid. - Review, suppress, or confirm by another channel for
status: risky. - Retry later for
unknown,greylisted, orconnection_failure. - Do not treat
catch_allorprovider_accept_allas mailbox-confirmed.
See the Verification API reference for the full response shape.