The BODYSTRUCTURE is coming from a Cyrus IMAP4 v2.2.10 server. Here is
the body structure that c-client from calling mm_dlog() from the server.
* 1 FETCH (FLAGS (\Recent \Seen) INTERNALDATE " 4-Nov-2005 09:33:22
-0600" RFC822.SIZE 1770 BODYSTRUCTURE (("TEXT" "PLAIN" ("CHARSET"
"us-ascii") NIL NIL "7BIT" 0 0 NIL NIL NIL) "MIXED" ("BOUNDARY"
"------------090003040805030408020409") ("INLINE" ("FILENAME" "Re: a
message")) NIL))
I'm not using elt->private.msg.body, using "BODY".
Shawn
Mark Crispin wrote:
On Thu, 3 Nov 2005, Shawn Walker wrote:
I have a message that seems "confused" from c-client. I have tried it
with Pine 4.64 and it shows the message blank (empty).
Are you using an IMAP server? If so, what IMAP server implementation?
BODYSTRUCTURE (("TEXT" "PLAIN" ("CHARSET" "us-ascii") NIL NIL "7BIT" 0
0 NIL NIL NIL) "MIXED" ("BOUNDARY"
"------------090003040805030408020409") ("INLINE" ("FILENAME" "[Fwd:
Re: a message]")) NIL)
That BODYSTRUCTURE is completely bogus. Here is the correct
BODYSTRUCTURE for that message:
BODYSTRUCTURE (("TEXT" "PLAIN" ("CHARSET" "ISO-8859-15" "FORMAT"
"flowed") NIL NIL "7BIT" 23 4 NIL NIL NIL NIL)("MESSAGE" "RFC822"
("NAME" "Re: a message") NIL NIL "7BIT" 518 ("Fri, 28 Oct 2005 11:50:37
-0500" "RE: a message" (("Some User" NIL "someuser" "example.net"))
(("Some User" NIL "someuser" "example.net")) (("Some User" NIL
"someuser" "example.net")) (("Some User" NIL "someuser" "example.net"))
NIL NIL NIL "<[EMAIL PROTECTED]>") ("TEXT" "PLAIN"
("CHARSET" "UTF-8" "FORMAT" "flowed") NIL NIL "7BIT" 18 1 NIL NIL NIL
NIL) 15 NIL ("INLINE" ("FILENAME" "Re: a message")) NIL NIL) "MIXED"
("BOUNDARY" "------------090003040805030408020409") NIL NIL NIL)
I use mail_fetch_overview_sequence() to get the BODYSTRUCTURE:
mail_fetch_overview_sequence() is not the correct function to get a
BODYSTRUCTURE. The correct (and ONLY) function is
mail_fetch_structure(). In general, overviews should be used only for
NNTP and not for other types of connections.
What's more, how did you get that bogus "BODYSTRUCTURE"? I hope that
you didn't look at elt->private.msg.body; that data is strictly private
to c-client (hence the "private" moniker) and it is guaranteed that
applications will fail if they poke in there.
To repeat (since this is important): the ONLY way to get the message
BODYSTRUCTURE is the mail_fetch_structure() function.
According to the body struture, the "TEXT" "PLAIN" is part 1 and
"INLINE" is part 2.
What you quoted as a "BODYSTRUCTURE" only shows a single part with empty
content. The "INLINE" is a content disposition for the MULTIPART which
is wrong because in the message it's the content disposition for an
embedded message. As I said, it's completely bogus.
I can't otherwise tell if it's just a matter of bad usage of c-client or
if your IMAP server is also broken.
-- Mark --
http://panda.com/mrc
Democracy is two wolves and a sheep deciding what to eat for lunch.
Liberty is a well-armed sheep contesting the vote.
_______________________________________________
Imap-uw mailing list
Imap-uw@u.washington.edu
https://mailman1.u.washington.edu/mailman/listinfo/imap-uw