Dan Muey wrote:

> I have a need to grab specific Mime sections of an array.
>
> I've looked at and tried different Mime Modules but can't seem to get it to go.
> I thought about parsing it manually but I'm not sure if every message will be 
> formatted exactly the same, hence the module.
>
> The array contains the lines of a multipart email body, not the header, just the 
> body.
>
> I have the boundary line in a variable by then.
>
> What I need to do is grab the text/plain section into a variable or array.
> In the example below I just want to grab 'I am monkey hear me roar'
>
> These aren't actually like this in the script, they are set by a
> function in a module but this illustrates what they contain.
>
> $boundary = '------=_NextPart_000_000B_01C2D9A1.22427D20';
> @body = '
> ------=_NextPart_000_000B_01C2D9A1.22427D20
> Content-Type: text/plain;
>         charset="iso-8859-1"
> Content-Transfer-Encoding: quoted-printable

Can you count on the header lines always stating with "Content-", unless the preceding 
line has a semicolon as a line-continuation character?  If  so, then you can scan 
through the headers [preferably on initial input], looking for the first instance 
where a line does not start with "Content-", and is not a continuation of another line 
starting with that string.

Also, we know from doing CGI that the header section must always be followed by an 
empty line.  When your program detects that it is reading a header, it can watch for 
that empty line to mark the start of the content described in the header.  For the end 
of the content of any given mime, you already have the flag line to watch for.  When 
you read it, you can discrad all empty lines between the end of content and the 
divider.

HTH

Joseph


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to