---
title: "Valid email address format and syntax rules - Emvero"
description: "Learn the parts of a valid email address, dot and plus-tag rules, byte limits and Unicode support. Passing syntax does not confirm a domain or mailbox."
url: https://emvero.io/glossary/email-syntax/
language: en
updated: 2026-10-07
---

All terms

Glossary

# Email address syntax

Email syntax defines the structure of an address: its local part, the @ separator and its domain. A format check looks at that structure without contacting DNS or a mail server.

## The local part and domain

In the illustrative address `alex+orders@example.com`, `alex+orders` is the local part and `example.com` is the domain. A parser checks their structure before looking up DNS or connecting to a mail server.

In an unquoted local part, dots can separate groups of characters but cannot appear first, last or consecutively. Thus `alex..orders@example.com` fails the format check. A plus sign is allowed. Preserve it and the tag when submitting the address so you do not change the recipient. The [plus-address guide](https://emvero.io/blog/email-address-with-plus-sign/) explains these tags.

## Which input Emvero accepts

[RFC 5321](https://www.rfc-editor.org/rfc/rfc5321.html#section-4.1.2) permits more forms than ordinary unquoted addresses. Emvero’s registration parser accepts a narrower set: it refuses quoted local parts, address literals such as `user@[192.0.2.1]`, display names and address lists. A form permitted by SMTP may therefore be unsupported input.

`INVALID_SYNTAX`, `INVALID_LOCAL_PART` and `INVALID_DOMAIN` identify a format failure and the part involved. `ADDRESS_TOO_LONG` identifies a length failure. Emvero’s limits are 64 octets for the local part and 254 for the complete address after domain conversion to ASCII. An octet is a byte, and a Unicode character may occupy several bytes. Receiving servers may apply different limits.

## Internationalised addresses

A non-ASCII local part requires `SMTPUTF8`, as defined in [RFC 6531](https://www.rfc-editor.org/rfc/rfc6531.html#section-3.2). An internationalised domain can instead be converted to ASCII; it does not, by itself, make the local part require that extension.

Emvero currently accepts internationalised local parts and records `smtp_utf8_required`. The vocabulary includes `SMTPUTF8_REQUIRED` for a policy that disallows such input, but this is not a code returned for every supported Unicode address. The [unverifiable address explanation](https://emvero.io/glossary/unverifiable-address/) covers a destination that lacks the extension.

## What passing the check means

A syntax failure can end verification with `undeliverable` and `reject`. Passing confirms only a supported format. The domain, [mail route](https://emvero.io/glossary/mx-record/) and recipient need further evidence, as explained in [syntax versus SMTP verification](https://emvero.io/compare/smtp-vs-syntax-validation/). Keep the original local part intact through those checks.

## Related reason codes

The API uses these identifiers to explain a check. The notes identify values that the current verification policy or probe does not return.

`INVALID_SYNTAX`

Address is not well formed

`INVALID_LOCAL_PART`

Local part is not valid

`INVALID_DOMAIN`

Domain is not valid

`ADDRESS_TOO_LONG`

Address exceeds the permitted length

`SMTPUTF8_REQUIRED`

Defined code for disallowed internationalised input; current policy permits that input

## Related terms

### MX record

A DNS record that identifies a domain’s mail servers and their priority. A mail route does not prove that a mailbox exists.

### SMTP handshake

The greeting and commands used to ask a mail server about a recipient, stopping before message content is sent.

[All terms](https://emvero.io/glossary/)

## Try a check in your account.

Choose the check that fits your question and inspect the result.

Start for free
