ron8
ron8

Reputation: 243

What is the formal definition for the format of an email address?

I would like to know the formal definition for the construction of an email address.

I don't just want the answer, but how to get to it, as I'd to learn how to do it myself.

Upvotes: 0

Views: 454

Answers (1)

Wu Yongzheng
Wu Yongzheng

Reputation: 1717

Formal definition? See RFC821.

<path> ::= "<" [ <a-d-l> ":" ] <mailbox> ">"
<a-d-l> ::= <at-domain> | <at-domain> "," <a-d-l> 
<at-domain> ::= "@" <domain>
<domain> ::=  <element> | <element> "." <domain>
<element> ::= <name> | "#" <number> | "[" <dotnum> "]"
<mailbox> ::= <local-part> "@" <domain>
<local-part> ::= <dot-string> | <quoted-string>
<name> ::= <a> <ldh-str> <let-dig>
<ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>
<let-dig> ::= <a> | <d>
<let-dig-hyp> ::= <a> | <d> | "-"
<dot-string> ::= <string> | <string> "." <dot-string>
<string> ::= <char> | <char> <string>
<quoted-string> ::=  """ <qtext> """
<qtext> ::=  "\" <x> | "\" <x> <qtext> | <q> | <q> <qtext>
<char> ::= <c> | "\" <x>
<dotnum> ::= <snum> "." <snum> "." <snum> "." <snum>
<number> ::= <d> | <d> <number>
<CRLF> ::= <CR> <LF>

Upvotes: 2

Related Questions