Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
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 making s'mores by the fire in the courtyard of the Monastery: (8)
As of 2015-07-07 12:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (88 votes), past polls