Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: Re: Re: Re: Multi-Part email with Attachments using MIME::Lite

by filmo (Scribe)
on Aug 16, 2001 at 07:06 UTC ( #105262=note: print w/ replies, xml ) Need Help??


in reply to Re: Re: Re: Multi-Part email with Attachments using MIME::Lite
in thread Multi-Part email with Attachments using MIME::Lite

Thanks for the help. After some playing around the MIME::Lite, I think I've figured it out. (at least it seems that way because the e-mails are working correctly now.) The trick was to build two MIMEs and attach the second one to the first

Here's the modified code

$email_msg = MIME::Lite->new ( Return-Path =>$from, From =>$from, To =>$email_to, Subject =>"Completed Transcripts ($count_trans +attached)", Type =>'multipart/mixed', Encoding =>'7bit' ); if ($cc_email) {$email_msg->add(CC =>$cc_email)} # Build Part 2 which is 'multipart/alternative' $body = MIME::Lite->new ( Type =>'multipart/alternative', Encoding =>'7bit', ); # Here's the fallback plain text message $body->attach( Type =>'text/plain', Encoding =>'7bit', Data =>$plain ); # Here's the HTML, nicely formated e-mail message + $body->attach( Type =>'text/html', Encoding =>'7bit', Data =>$html_body, ); # Attach the "body" part to the original message $email_msg->attach($body); # Attach "attachments" to original message foreach $file (sort keys %file_attach) { $email_msg->attach (Type =>'application/msword', Path =>$file_attach{$file}, Filename=>$file, Disposition=>'attachment', Encoding =>'base64' ); }
This builds a "correctly" nested e-mail.
--
Filmo the Klown


Comment on Re: Re: Re: Re: Multi-Part email with Attachments using MIME::Lite
Download Code
Re: Re: Re: Re: Re: Multi-Part email with Attachments using MIME::Lite
by tachyon (Chancellor) on Aug 16, 2001 at 07:15 UTC

    Hah - I came to the same conclusion and did this:

    use MIME::Entity; my $email = 'you@yours.com'; my $our_email = 'me@mine.com'; my $us = 'Just another Perl Hacker'; # create the alternative part with header my $alt = build MIME::Entity Type => 'multipart/alternative'; # now, make alternative attachment/s: attach $alt Path => "c:/text.txt", Type => 'text/HTML', Encoding => '7bit'; attach $alt Path => "c:/html.htm", Type => 'text/HTML', Encoding => '7bit'; # stringify our alternative part object $alt = $alt->as_string; # create the top-level, and set up the mail headers: my $top = build MIME::Entity Type => 'multipart/mixed', From => $our_email, To => $email, Subject => "Information from $us"; # next, add the alternate bodies of the message: attach $top Data => $alt; # now, make an attachment: attach $top Path => "c:/word.doc", Type => 'application/octet-stream', Encoding => 'base64'; # have a look at the result print $top->as_string;

    cheers

    tachyon

    s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (8)
As of 2014-07-12 22:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (241 votes), past polls