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 "<[email protected]>"))
* 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
"<[email protected]>"))
* 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 "<[email protected]>"))
. 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