Normalization
How the normalized field collapses provider-specific aliases so duplicate signups map to one mailbox, and when subaddressing is set.
The normalized field returns a canonical mailbox string you can use for deduplication keys, uniqueness constraints, and fraud checks. EmailGuard applies provider-specific rules whenever the address is parseable into a local part and domain — including cases where syntax validation fails only because the TLD is not in IANA.
The companion boolean subaddressing is true when normalization changed the local part (for example stripping a +tag suffix). See Subaddressing for how to interpret that flag in signup flows.
Users create multiple account rows from one inbox:
j.doe@gmail.com equals jdoe@gmail.com)user+promo@gmail.com)- or _ in addition to dotsWithout normalization, your database treats these as distinct people. EmailGuard returns one normalized value per logical mailbox, using provider-aware rules we maintain and expand over time.
Normalization runs whenever EmailGuard can parse a local part and domain (including invalid-TLD cases). For each address, EmailGuard:
suggested_email against the suggested domain so Gmail-style corrections include stripped dots and + tags.We do not publish an exhaustive provider matrix; coverage improves as we add hosts and alias behaviors. Custom domains and most work email pass through with light canonicalization only.
Gmail with dots and a plus tag:
curl -sS \
-H "Authorization: Bearer YOUR_KEY" \
"https://emailguard.co/api/v1/emails/detect?email=jane.doe%2Bnewsletter%40gmail.com"{
"data": {
"email": "jane.doe+newsletter@gmail.com",
"syntax_validation": true,
"normalized": "janedoe@gmail.com",
"subaddressing": true,
"public_domain": true
}
}Corporate domain (no alias rules applied):
{
"data": {
"email": "Pat.Smith@Acme.Corp",
"syntax_validation": true,
"normalized": "pat.smith@acme.corp",
"subaddressing": false
}
}Plus addressing is widely implemented using the + delimiter described in RFC 5233 (Sieve — Subaddress Extension). Gmail dot aliasing is provider behavior, not an RFC requirement; we document it because it affects deduplication in production signup data.
The addr-spec grammar itself is defined in RFC 5322. Normalization happens after that parse step.
syntax_validation is false.normalized echoes the trimmed input.normalized uses the parsed local part and lower-case ASCII domain so typo suggestions can still point at the corrected mailbox.normalized for database unique indexes; keep the original email for audit trails and support lookups.