On Thu, 18 Oct 2007, David Nicol wrote:

FWIW, later on http://cr.yp.to/im/address.html Bernstein says

"Do not use an empty box part; it cannot appear in SMTP requests."

That's actually an open question, due to what appears to be a drafting error in RFC2821. In 4.1.2 Command Argument Syntax, we see:

...
      Mailbox = Local-part "@" Domain

      Local-part = Dot-string / Quoted-string
            ; MAY be case-sensitive

      Dot-string = Atom *("." Atom)

      Atom = 1*atext

      Quoted-string = DQUOTE *qcontent DQUOTE
...

But qcontent is undefined.

Note however the following paragraph:

   While the above definition for Local-part is relatively permissive,
   for maximum interoperability, a host that expects to receive mail
   SHOULD avoid defining mailboxes where the Local-part requires (or
   uses) the Quoted-string form or where the Local-part is case-
   sensitive.  For any purposes that require generating or comparing
   Local-parts (e.g., to specific mailbox names), all quoted forms MUST
   be treated as equivalent and the sending system SHOULD transmit the
   form that uses the minimum quoting possible.

This seems to require that "" and empty must be treated equivalently, and empty is clearly not valid. The sending system should also use the empty form, rather than quoting an empty string.

RFC2822 also makes it clear that "quoted-string is identical to atom, semantically" so although ""@domain is syntactically permitted by RFC2822 (perhaps in error), it is not semantically valid.

Anyway, will some or all of the patch be accepted and committed?

Reply via email to