Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: Saving certain email attachements using MIME::Tools

by jlongino (Parson)
on Aug 30, 2002 at 00:20 UTC ( [id://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

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (4)
As of 2024-03-19 05:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found