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

Re: Getting recommened_filename from MIME::Parser

by projekt21 (Friar)
on Oct 16, 2001 at 13:01 UTC ( #119086=note: print w/replies, xml ) Need Help??


in reply to Getting recommened_filename from MIME::Parser

I'm not sure if I can help you solve your problem ...

Update (further research): I noticed three things:

  • As long as I use $parser->output_to_core(1); I don't get the path. Changing to $parser->output_under("/tmp"); does return a path.
  • Your for $part(@parts){ }-loop runs one iteration too often, so your error message comes from the last call, where no parts are left.
  • method 1: change $entity->bodyhandle->path; to $part->bodyhandle->path;.

The following code works fine for me:

use MIME::Parser; split_entity($entity); # $entity is a MIME::Entity object ################################################ sub split_entity { ################################################ local $entity = shift; my $num_parts = $entity->parts; # how many mime parts? if ($num_parts) { # we have a multipart mime message foreach (1..$num_parts) { split_entity( $entity->parts($_ - 1) ); # recursive call } } else { # we have a single mime message/part if ($entity->effective_type =~ /^text\/plain$/) { # text message handle_text($entity->bodyhandle->as_string); } else { # no text message handle_other($entity->bodyhandle->path); } } }

As you can see, I use path as you did and it is working perfectly.

I further recommend using a similar recursive call as some mailers seem to nest multipart messages and you maybe want to parse them correctly to any depth.

alex pleiner <alex@zeitform.de>
zeitform Internet Dienste

Replies are listed 'Best First'.
Re: Re: Getting recommened_filename from MIME::Parser
by thatguy (Parson) on Oct 17, 2001 at 20:47 UTC
    Excellent! that works perfectly, thanks!
    -phill

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (12)
As of 2019-10-15 22:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?