Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

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.


Log In?

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (2)
As of 2021-12-08 23:14 GMT
Find Nodes?
    Voting Booth?
    R or B?

    Results (36 votes). Check out past polls.