invalid_local_part
The username breaks the rules its own provider enforces
The part before the @ cannot exist at the provider that would host the mailbox, so the address is rejected before any mailbox probe is spent on it.
- appears in
- reason
- verdict
- undeliverable
- credits
- Free. Undeliverable verdicts never cost a credit.
What it means
Large mailbox providers publish rules for usernames: Gmail allows letters, digits and dots up to 30 characters, Outlook, Yahoo, iCloud, AOL and Proton each have their own character sets and length limits. An address that violates the rule of the provider behind its domain cannot exist, and probing it would only waste a handshake.
Spaw applies character-set and maximum-length rules only. Minimum lengths are deliberately not enforced, because legacy accounts predate them.
What to do
Treat it like a typo in the username. If the address came from a signup form, ask the user to re-enter it; on an imported list, drop it.
Example response
{
"email": "[email protected]",
"deliverable": "undeliverable",
"reason": "invalid_local_part",
"mx_provider": "google",
"smtp_checked": false
}Abbreviated: a real answer carries all 27 fields, listed in the verify-email reference.
Related
- invalid_syntax · the input does not parse as an email address
- no_mx_records · the domain has no mail servers at all
- null_mx · the domain declares that it never accepts mail
- mx_unresolvable · the mail servers the domain points at do not exist
- mailbox_not_found · the mail server rejected the mailbox during the handshake
- mailbox_disabled · the mailbox exists but its provider has disabled it
- suppressed · the address is on your account's suppression list
- All verdict reasons
- Verdicts and the risk score
- API reference
markdown version: /docs/reasons/invalid_local_part.md