I wrote:
> Consider a top-level message/rfc822, which contains a message/rfc822
> part, which contains a multipart/mixed part, which contains a
> text/plain part.

I just checked the public Cyrus test server at cyrus.andrew.cmu.edu
with such a message.  (Well, the multipart part contained two
text/plain parts instead of just one - close enough.)

That server agrees with what Mark says ([1.1.HEADER] is the header of
the multipart/mixed message), but it seems to disagree with the
example in RFC3501.  In my test message:
[1]      is an entire message/rfc822 message (itself encapsulated
         within a top-level message/rfc822 message),
[1.TEXT] is the entire encapsulated multipart/mixed message,
[1.1]    is the same as [1.TEXT], and
[1.1.1]  is the first part contained in the multipart/mixed message.

But in the RFC3501 example:
[4.2]      is an entire message/rfc822 part (contained within a
           multipart/mixed part), which is the header and body of a
           multipart/mixed message,
[4.2.TEXT] is the body of [4.2] (a multipart/mixed body, without its
           header), and
[4.2.1]    is the first part contained within the multipart/mixed
           message.

However, if I use a different test message with the same structure as
the example in the RFC, then Cyrus agrees with the RFC example about
the section specifiers.

So how does this work, exactly?  If [x] is a message/rfc822 part
(where x is a section-part in the RFC3501 grammar), and the
encapsulated message is not a multipart message, then it seems that
[x.1] is the same as [x.TEXT] (according to my test with Cyrus, where
x=1) - this mirrors the situation with a top-level message, so I guess
that makes sense.  But if the encapsulated message is multipart, then
[x.1] is the first part of the multipart message (according to the RFC
example, where x=4.2), unless [x] is itself encapsulated in a
higher-level message/rfc822 message, in which case [x.1] is the entire
body of the multipart message (according to my test with Cyrus, where
x=1).

Is this right?  It seems unnecessarily complicated.  Is Cyrus faulty?
Are there other public testing servers available, running other server
programs?


paul

Reply via email to