in reply to Parsing emails with attachments

Hi,

It might be worth noting that MIME entities can themselves contain other entities, i.e., every email attachment can contain other email attachments. Therefore, to process these correctly, you'd need to break the email attachment parser into a recursive sub.

Example:

sub extract_files { my $entity = shift; my $num_parts = $entity->parts; # how many mime parts? if ($num_parts) { # we have a multipart mime message print "Multiple subentities found - parsing\n"; my $message; foreach (1..$num_parts) { $message .= extract_files( $entity->parts($_ - + 1) ); } return $message; } else { #Do some stuff.... } }

There's a node around here (probably posted a couple of months ago) that details this a little better, but I can't find it using Super Search, or thepen's google-able archive.

Cheers.
davis
Is this going out live?
No, Homer, very few cartoons are broadcast live - it's a terrible strain on the animator's wrist

Replies are listed 'Best First'.
Re^2: Parsing emails with attachments
by Anonymous Monk on Apr 24, 2007 at 13:07 UTC
    Hi, I stored above script as read_mail.pl and tried to execute in passion below perl read_mail.pl < /var/mail/pgoupal But this reads only first mail, not rest of the emails. Pls help me on this.