Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
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

Replies are listed 'Best First'.
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?
[Corion]: ambrus: Most of our "automation" is tied to process exit codes and a shell pipeline :-\
[LanX]: ... a week later they realized that one of the databases - which recorded how much the other banks due to this bank - was not correctly plugged
[ambrus]: Corion: I have no problem with exit codes and shell pipeline. My problem is that the current process requires a lot of manual intervention from me, including editing the source codes.
[ambrus]: (Also a lot of manual intervention by two or three other co-workers, who do other parts of the process.)
[ambrus]: Some of the manual part is unavoidable, but not all.
[choroba]: LanX was there a way to recover the numbers from the remaining information?
[Corion]: LanX: Ow ;)
Discipulus manual work: i just tell the same to my boss: every time the quick solution is to assign some manual data entry task to my group.. because we have not direct access to many databases here..
[LanX]: point is: in high speed trade each bank has to remember what he has to get from the others... so dresdner got billed for losses but couldn't claim gains
Discipulus is this the IT?

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (11)
As of 2017-03-29 11:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Should Pluto Get Its Planethood Back?



    Results (350 votes). Check out past polls.