ietf-smtp
[Top] [All Lists]

Re: [ietf-smtp] Dotless domains and email

2013-06-21 14:28:00
Does anyone know why RFC 2821 added the dotless domain restriction?

Like 5321, 821 permits dotless domains by its construction rules:


           <forward-path> ::= <path>

            <path> ::= "<" [ <a-d-l> ":" ] <mailbox> ">"

            <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>

-----Original Message-----
From: ietf-smtp-bounces(_at_)ietf(_dot_)org 
[mailto:ietf-smtp-bounces(_at_)ietf(_dot_)org] On Behalf Of Barry Leiba
Sent: Friday, June 21, 2013 12:15 PM
To: Dave Crocker
Cc: Tony Finch; John Levine; ietf-smtp(_at_)ietf(_dot_)org
Subject: Re: [ietf-smtp] Dotless domains and email

They might have been looking at RFC 2821

Well, that would be odd, certainly.

On the other hand, I'm not finding text in RFC 2821 (searching only for
FQDN) that asserts the limitation.  Pointer please?

Assembled from the bits of grammar in 2821:

   "RCPT TO:" ("<Postmaster@" domain ">" / "<Postmaster>" /
          Forward-Path) [SP Rcpt-parameters] CRLF

   Forward-path = Path

   Path = "<" [ A-d-l ":" ] Mailbox ">"

   Mailbox = Local-part "@" Domain

   Domain = (sub-domain 1*("." sub-domain)) / address-literal

---
RFC 5321 makes "Domain" this:

   Domain         = sub-domain *("." sub-domain)

...which allows the dotless option.

Barry
_______________________________________________
ietf-smtp mailing list
ietf-smtp(_at_)ietf(_dot_)org
https://www.ietf.org/mailman/listinfo/ietf-smtp
_______________________________________________
ietf-smtp mailing list
ietf-smtp(_at_)ietf(_dot_)org
https://www.ietf.org/mailman/listinfo/ietf-smtp