Thread: [htmltmpl] Using HT to create HTML Email
Brought to you by:
samtregar
From: Chris F. <cf...@do...> - 2004-01-07 16:17:06
|
Folks, HTML::Template has preformed above and beyond all my expectations when = it comes to serving user content from our site. I currently have a bunch of reporting that happens on a daily basis = which is mailed off to specific people in a HTML report. I'd like to take advantage of some of the HT features (like loops) to = create the emails instead of doing everything in perl and then simply = replacing it. Looking at the docs - would the below work? my $email_message =3D HTML::Template->new( filehandle =3D> *FH,=20 = some_loop =3D> \@someloop, = some_val =3D> $someval, = some_if =3D> 1, = ); = =20 &send_email($email_message); I know I should just try it and see what happens, but I also wanted to = see if anyone had a better suggestion on creating HTML emails. Thanks -Chris |
From: Jason P. <ja...@jo...> - 2004-01-07 16:32:34
|
Chris Faust wrote: > Looking at the docs - would the below work? > > my $email_message = HTML::Template->new( filehandle => *FH, > some_loop => \@someloop, > some_val => $someval, > some_if => 1, > ); > > &send_email($email_message); That would certainly work, though I would say this instead: &send_email( $email_message->output ); Since you're sending the e-mail to a controlled (& homogeneous) list of HTML-receivable e-mail clients, you don't have to worry about a corresponding text version. I like to use MIME::Lite to send e-mails. Off the top of my head (iow: not tested), the send_email func would look something like this: sub send_email { my ( $message, $mime ); ( $message ) = @_; $mime = MIME::Lite->new( To => 'dis...@yo...', From => 'mya...@yo...', Subject => 'Your Report', Data => $message ); $mime->send; # Exercise: Error Handling... } Jason |
From: Chris F. <cf...@do...> - 2004-01-07 18:09:22
|
> That would certainly work, though I would say this instead: > > &send_email( $email_message->output ); > > Since you're sending the e-mail to a controlled (& homogeneous) list of > HTML-receivable e-mail clients, you don't have to worry about a > corresponding text version. Thanks Jason, that is awesome... I never thought of passing "xxx->output" right to the mail sub.. That is perfect as now I can just do my standard my $template = new HTML::Template(filename => "filename"); Assign everything when and where I want to and output it to the send_mail sub - its perfection!! (thought I would have to do it via a FH before as the content wasn't being served up via http). Thanks for MIME::Lite suggestion, I know I'm going to have to use it someday when I need to send attachments - currently I use Mail::Sendmail and just bounce it off our SMTP server in the network - works great!. Thanks Again -Chris |