Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

mime::parser change attachment name

by nvrslowdown (Initiate)
on Dec 06, 2012 at 03:54 UTC ( #1007452=perlquestion: print w/ replies, xml ) Need Help??
nvrslowdown has asked for the wisdom of the Perl Monks concerning the following question:

How do I sync the attachment and the body outputs from MIME::parser?

The bottomline is that I want to parse through dozens of emails and link up attachments to the corresponding parsed bodies of the email.

I can modify the name of the MIME::Parser body output but NOT the attachment output since the following does not sync with the attachment subentity:

$parser->output_prefix("$i___")

What do I do??? Thanks!!!

Here is my code:

#!/usr/bin/perl use strict; use warnings; use Mail::POP3Client; use MIME::Parser; my $pop = new Mail::POP3Client( USER => 'joeCool', PASSWORD => 'peanuts', HOST => 'pop.gmail.com', USESSL => 1 ); my $fh = new IO::Handle(); my $parser = new MIME::Parser; for (my $i = 1; $i <= $pop->Count(); $i++) { open (OUT, ">msg-$i.msg"); $fh->fdopen( fileno(OUT), "w" ); $pop->HeadAndBodyToFile( $fh, $i ); close OUT; $parser->output_prefix("$i___"); my $entity = $parser->parse_open("msg-$i.msg"); } $pop->close();

Comment on mime::parser change attachment name
Download Code
Re: mime::parser change attachment name
by Anonymous Monk on Jan 28, 2013 at 08:58 UTC

    The right way to do this is to write your own subclass of MIME::Parser::Filer and create a custom output_path function.

    An easier way might be to create a subdirectory for each email message, named, say, $i, and then use output_dir, like this

    mkdir($i); $parser->output_dir($i);

    before parsing the $i'th email message

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (12)
As of 2014-09-19 16:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (143 votes), past polls