Dinh Le
2012-Feb-06 20:37 UTC
[Dovecot] ENVELOPE mishandling of Subject lines with quote(s)?
Hi, I am running dovecot version 1.2.9 on a Ubuntu 10.04 server. To obtain the message's header info from this dovecot imap server, I run the following imap command on a client side's imap session: . fetch 88:90 (envelope) which returns (in this case) ------------------------------------------------------------- * 88 FETCH (ENVELOPE ("Tue, 28 Oct 2008 15:45:35 -0500" "Linear Actuators Bring Flexibility to Packaging" (("Design World" NIL "subscription" "designworldonline.com")) (("Design World" NIL "subscription" "designworldonline.com")) (("Design World" NIL "subscription" "designworldonline.com")) ((NIL NIL "dinh" "flic.net")) NIL NIL NIL "<490779CF.00000E7D at ak119.mta.exacttarget.com>")) * 89 FETCH (ENVELOPE ("29 Oct 2008 15:44:03 -0500" {65} 2nd Edition of Brennesholtz/Stupp "Projection Displays" Available (("Insight Media" NIL "administrator" "insightmedia.info")) (("Insight Media" NIL "administrator" "insightmedia.info")) (("Insight Media" NIL "administrator" "insightmedia.info")) ((NIL NIL "dinh" "flic.net")) NIL NIL NIL "<20081029154358.0C359AE169595F1B at insightmedia.info>")) * 90 FETCH (ENVELOPE ("Thu, 30 Oct 2008 04:24:31 +0800 (SGT)" "6 new products Now Online!" (("Global Sources Product Alert" NIL "paservices" "globalsources.com")) (("Global Sources Product Alert" NIL "paservices" "globalsources.com")) (("Global Sources Product Alert" NIL "paservices" "globalsources.com")) (("Dinh Le" NIL "dinh" "flic.net")) NIL NIL NIL "<352725277.1225311871753.JavaMail.web at fuchsia3.globalsources.com>")) . OK Fetch completed. -------------------------------------------------------------- Notice that message 89's Subject line Subject: 2nd Edition of Brennesholtz/Stupp "Projection Displays" Available has quotes and this dovecot's ENVELOPE response failed to get parsed by a popular Perl module (Mail::IMAPClient::BodyStructure::Envelope). I have a hunch that this is dovecot's fault but I could be wrong. How should dovecot (or any imap server) deal with Subject lines with quotes inside ENVELOPE? ENVELOPE seems to encapsulate most of the important information and its format can be parsed cleanly and quickly. I prefer to fetch ENVELOP, at this point, rather than the other alternatives. Thanks for your help, Dinh
Michael M Slusarz
2012-Feb-06 20:45 UTC
[Dovecot] ENVELOPE mishandling of Subject lines with quote(s)?
Quoting Dinh Le <dinh at flic.net>:> * 89 FETCH (ENVELOPE ("29 Oct 2008 15:44:03 -0500" {65} > 2nd Edition of Brennesholtz/Stupp "Projection Displays" Available > (("Insight Media" NIL "administrator" "insightmedia.info")) > (("Insight Media" NIL "administrator" "insightmedia.info")) > (("Insight Media" NIL "administrator" "insightmedia.info")) ((NIL > NIL "dinh" "flic.net")) NIL NIL NIL > "<20081029154358.0C359AE169595F1B at insightmedia.info>"))[snip]> Notice that message 89's Subject line > > Subject: 2nd Edition of Brennesholtz/Stupp "Projection Displays" Available > > has quotes and this dovecot's ENVELOPE response failed to get parsed by > a popular Perl module (Mail::IMAPClient::BodyStructure::Envelope). > I have a hunch that this is dovecot's fault but I could be wrong. > How should dovecot (or any imap server) deal with Subject lines with > quotes inside ENVELOPE?The subject, because it contains quotes, can't be expressed in a quoted string so it is instead sent in a literal string. In a literal string, the data is exactly what appears in the original message. No post-processing mechanism should be stripping quotes or anything from this data - it is already in its canonical state. Dovecot is 100% correct in its return. michael