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?