Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

mime::parser change attachment name

by nvrslowdown (Initiate)
on Dec 06, 2012 at 03:54 UTC ( [id://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();

Replies are listed 'Best First'.
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
Domain Nodelet?
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?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (3)
As of 2024-04-25 09:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found