Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re: Using MIME::Tools

by mkmcconn (Chaplain)
on Nov 24, 2001 at 00:19 UTC ( #127168=note: print w/replies, xml ) Need Help??

in reply to Using MIME::Tools

What do you find when you say:

print @$body

$body represents a reference to an array. Read
perldoc perlreftut and perlref
for more information.

Replies are listed 'Best First'.
Re: Re: Using MIME::Tools
by Anonymous Monk on Nov 24, 2001 at 00:28 UTC
    Thanks so much, that worked like a charm...the only problem now though is body also contains:
    MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0032_01C17453.FA494D20" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 test ...

    The main reason i used the modules was because i was told this was fix that :( rather than split direct from STDIN ... any ideas on how i can get the message from that?
      You're seeing parts of the headers there.
      If I remember correctly, you may (using this method) have to use print $$body[2] or something similar.
      Please see perldata for more information on why.

      Mime::Tools is not the most friendly of modules, either... Here's a small snippet which I used once upon a time. Mail messages are stored in @msgs, ok?

      foreach my$thismsg (@msgs){ my $parser = new MIME::Parser; my $ent = $parser->parse_data ("$thismsg"); print "here's the message :\n$thismsg\n"; print "mime type is ", $ent->mime_type(),"\n"; my @all_parts = $ent->parts; foreach (@all_parts) { print "mime type is ", $_->mime_type(),"\n"; my $head=$_->head()->as_string; if ($head=~/filename\="(.*?)"/) {print "Filename is $1\n"} print "header is $head\n"; print "------------------done\n"; } print "------------------done with messages\n"; }
      This shows how to read the entire message, parts of the content type and the header. IIRC, to pull out the message body would be similar to my $body=$_->body()->as_string; rather than my $head=$_->head()->as_string;.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (3)
As of 2023-03-22 03:21 GMT
Find Nodes?
    Voting Booth?
    Which type of climate do you prefer to live in?

    Results (60 votes). Check out past polls.