docs
stormdoor.dev
FINDING

email.invalid_syntax

The address is not structurally valid — it can't be mail, regardless of the domain.

SEVERITY
high
LEADS TO
block
GATE
/v1/emails
CHECK
email.syntax
Jump to what to do

What it looks at#

A practical subset of RFC 5321/5322’s grammar, not the full ABNF: total length 1–254 characters, exactly one @ not at the very start or end, no whitespace anywhere, a local part 1–64 characters drawn from the standard atext character set with no leading, trailing, or doubled dots, and a domain of 2 or more valid labels (alphanumeric plus internal hyphens, no leading/trailing hyphen) totalling at most 253 characters.

This is a subset, not the complete grammar — a handful of technically legal but obscure forms (quoted local parts, comments, IP-literal domains) will fail this check even though strict RFC 5322 would accept them. That tradeoff is deliberate: those forms are vanishingly rare in real signup traffic and disproportionately common in hand-crafted abuse payloads.

Why it matters#

An address that fails this check cannot be valid mail syntax. Anything you send to it will bounce at the sending MTA before it even reaches DNS. In a signup or contact form, this usually means a bot filled the field with garbage, or a human mistyped badly enough that auto-correction won’t help.

What to do#

High severity blocks by default. There is essentially no legitimate reason to accept an address that fails basic structural validity — unlike a typo match, there’s no “confirm with the user” step that makes sense here.

OTHER FINDING CODES FROM /V1/EMAILS