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

StatusHow to use it
validLow risk. Use for normal sends, while still honoring unsubscribe and consent rules.
riskyUse caution or skip. The address may receive mail, but a risk signal or provider limitation remains.
unknownDo not treat as confirmed. Retry later or use another confirmation signal.
invalidDo 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, or connection_failure.
  • Do not treat catch_all or provider_accept_all as mailbox-confirmed.

See the Verification API reference for the full response shape.