Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: Saving certain email attachements using MIME::Tools

by jlongino (Parson)
on Aug 30, 2002 at 00:20 UTC ( #193954=note: print w/ replies, xml ) Need Help??


in reply to Saving certain email attachements using MIME::Tools

I believe this will do what you want.

#!/usr/local/bin/perl use MIME::Parser; use strict; use warnings; ## directory to store all parsed MIME parts my $outputdir = "./mimemail"; my $parser = new MIME::Parser; $parser->output_dir($outputdir); ## this creates files for all parts my $entity = $parser->read(\*STDIN); my $num_parts = $entity->parts; ## define attachment types to keep -- notice all lowercase ## add as many types as you like. my %type_ok = ( 'application/octet-stream' => 1 ); if ($num_parts > 0) { for (my $i = 0; $i < $num_parts; $i++) { my $part = $entity->parts($i); ## note: lc so types have a better chance of matching my $type = lc $part->mime_type; my $bh = $part->bodyhandle; ## delete parts we don't want if (! exists $type_ok{$type}) { my $status = system("rm '$bh->{MB_Path}'"); die $! unless $status == 0; } } }
The program is executed like this:

program < single.message.mime

Update: './mimemail' directory should already exist. Also removed unneeded 'my $msg_body;' line.

--Jim


Comment on Re: Saving certain email attachements using MIME::Tools
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://193954]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (16)
As of 2014-08-27 16:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (244 votes), past polls