[pmmail-list] How to modify text in a received message?

Tim Roberts pmmail-list@blueprintsoftwareworks.com
Mon, 05 Jul 2004 12:52:05 -0700


Larry Alkoff wrote:

>On Sat, 3 Jul 2004 11:44:38 -0700, timr@probo.com wrote:
>  
>
>>Is is possible the message is multipart/alternative with both a text/plain
>>and a text/html section?  If you modify the human-readable text in
>>text/plain, it won't have any affect on PMMail's preview, which shows 
>>the text/html part.
>>-- 
>>    
>>
>
>You are both absolutely right.  The message is apparently encoded in  MIME plus there is an HTML  portion.
>I just copy/pasted my small edit (email ID and password) into the HTML part and it came right up.
>
>If I understand this correctly, the MIME portion was actually in plain text.
>I have included the message for your inspection and comment as to which portion is which.
>Because I am getting error messages each time I send with the message either attached
>or included I have zipped it up.
>
>I'm particularly interested in how the boundry lines work.  There seem to be too many.
>
>My comments in the attached email begin with "lba:"  - not the quotes.
>
>I am under the impression that PMMail can not display MIME.  But this was just text so I'm confused.
>  
>

No, PMMail knows how to parse a MIME message.  What is DOESN'T do well 
is display HTML.

MIME is just a way to allow a single e-mail message to have multiple 
"parts", and to identify those "parts" so the message can be 
meaningfully rendered at the other end.  Each part has, among other 
things, a Content-Type header that tells what that part contains.  The 
simplest MIME messages have, for example, "Content-Type: text/plain" in 
the message header.  Such a message contains no subparts and no 
boundaries: just plain text.

The root type of your message is multipart/alternative.  The "multipart" 
says that the message contains multiple sub-parts, each of which will 
have its own type.  Each part is preceded by a boundary string, 
identified in the root Content-Type header.  In your message, there are 
two sub-parts: one is text/plain, one is text/html.  The "alternative" 
part of the root type says that both of these parts contain the same 
message information, just rendered in different ways.  Thus, your mail 
program can choose which one to display.  If the mailer can handle HTML, 
and the user has asked to see HTML, it will render the text/html part 
and ignore the text/plain part.  If the milaer cannot do HTML or the 
user has suppressed it, it will render the text/plain part and ignore 
the other.

Finally, there is one final boundary line with a special terminator flag 
at the very end of the message.

Note that the subparts can be nested. That is, one subpart of a 
multipart message can itself be multipart.  It will define a brand-new 
boundary string for ITS sub-parts, each of which could again be 
multipart.  There is an e-mail test case for the MIME RFC (1521) that 
contains 40 or 50 subparts of various kinds, nested in various 
complicated ways, all designed to break wimpy mailers.

-- 
- Tim Roberts, timr@probo.com
  Providenza & Boekelheide, Inc.

- pmmail-list - The PMMail Discussion List ---------------------------
To POST to the list, send your message to:
pmmail-list@blueprintsoftwareworks.com

To UNSUBSCRIBE, send a message to mdaemon@bmtmicro.com 
with the first line of the message body being...
UNSUBSCRIBE pmmail-list@blueprintsoftwareworks.com
---------------------------------------------------------------------