http://www.perlmonks.org?node_id=194100


in reply to Re: Saving certain email attachements using MIME::Tools
in thread Saving certain email attachements using MIME::Tools

$body returns: MIME::Body::InCore=HASH(0x83a39ac) while $filename comes out blank.

Update

foreach $x (@attypes){ if ($subentity->mime_type =~ m/$x/i){ $attachment = $subentity->bodyhandle->print(); push @attachment, $attachment; print "x = $x subentity =".$subentity->mime_type."\n"; push @attname, $subentity->head->mime_attr('content-disposition. +filename'); } }

The attachment prints out but is not stored in $attachment. @attname now holds the attachment name correctly. All that remains is figuring out how to store the attachement into a variable for later use.

Neil Watson
watson-wilson.ca

Replies are listed 'Best First'.
Re: Re: Re: Saving certain email attachements using MIME::Tools
by blahblahblah (Priest) on Sep 03, 2002 at 04:28 UTC
    You're setting $attachment to the return value of the print() method. The perldoc for MIME:Body doesn't say anything about print() returning anything. There are other methods that look like they'll do what you want, like as_string() and as_lines().

    MIME::Tools has some of the better documentation I've seen for modules, with lots of examples. You should run "perldoc MIME::Body" or look at these pages on perldoc.com:
    http://www.perldoc.com/cpan/MIME-tools.html
    http://www.perldoc.com/cpan/MIME/Body.html