nmh-workers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Nmh-workers] Parsing of dot ('.') in name part of address


From: Ken Hornstein
Subject: Re: [Nmh-workers] Parsing of dot ('.') in name part of address
Date: Tue, 20 Dec 2016 10:18:04 -0500

>According to my understanding of RFC 5322, the "Wolfgang.Denk" part
>is the "display-name", which is just defined as "phrase".
>
>And "4.1.  Miscellaneous Obsolete Tokens" reads:
>
>        The "period" (or "full stop") character (".") ... appears
>        here because the period character is currently used in many
>        messages in the display-name portion of addresses, especially
>        for initials in names, and therefore must be interpreted
>        properly.

Sigh.  The super-short answer is:

1) You're not technically supposed to send these in new messages (hence
   the reason it's under the "obsolete tokens" section).  I mean, you
   can send them if you quote the phrase (it then becomes a "quoted-string").
   The exact definition is a "phrase" is one or more "word"s, which can
   be "atom"s (letters, digits, and some punctuation which does NOT include
   a period), or a "quoted-string".  But a phrase can ALSO be an "obs-phrase",
   which is what comes under the 4.1 section.

2) You're supposed to handle them if you get them.  We don't (there
   was code to handle some cases added to our email parser; AFAICT
   it only works if you have a period at the end of a phrase).

So, it's a bug.  We should do better.  I have a semi-working rewritten
address parser in Lex/Yacc that might handle this better.  But it won't
make it in for the next release.  The current address parser gives me
headaches every time I look at it.

>I'm asking because I receive quite a number of messages using such
>addresses (all sent from MS Exchanges systems), which then all need
>manual editing for reply.

Hm, at least the Exchange people I deal with seem to have everything quoted
properly.

--Ken



reply via email to

[Prev in Thread] Current Thread [Next in Thread]