Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: How to send nicely formatted emails in Perl?

by zentara (Archbishop)
on Sep 08, 2012 at 09:43 UTC ( #992461=note: print w/replies, xml ) Need Help??

in reply to How to send nicely formatted emails in Perl?

Here is a pretty generic implementation of a program to mail html and text to a small list.
#!/usr/bin/perl use warnings; use strict; use MIME::Lite; use Net::SMTP; my @keys = qw(email name street city zip phone); my %recipients; my @fields; my $email; while(<DATA>){ @fields=(); ($email,@fields) = chomp && split(/\Q|\E/); # print "$email -> @fields\n"; $recipients{$email} = \@fields; } foreach my $key (keys %recipients){print "$key -> $recipients{$key}\n" +}; #for(keys %recipients){ #print "$_ has ",scalar @{$recipients{$_}}," stations and they are:\n" +; #for(@{$recipients{$_}}){ #print <<INFO; #Name: $_->[0] #Email: $_->[1] #Street 1: $_->[2] #City: i $_->[3] #State: $_->[4] #Zip: $_->[5] #Phone: $_->[6] #INFO #} #} #=head1 my $fromaddress = ''; foreach my $recipient (keys %recipients){ my $smtp = Net::SMTP ->new(''); $smtp->mail('you@yourdomain'); #use your mail name $smtp->to('reciever@recieverdomain'); $smtp->data( ); my $msg = MIME::Lite->new( From =>'Joe', To =>'Shmoe', Subject =>'HTML Test', Type =>'multipart/related', ); $msg->attach( Type => 'text/plain', Data => 'HERE IS YOUR HTML PAGE', ); $msg->attach( Type => 'text/html', #Path =>'full_file_name', Path => $0, Disposition => 'attachment', ); # send the message over $smtp->datasend( $msg->as_string() ); # close smtp connection $smtp->dataend(); $smtp->quit; } #=cut __DATA__|Zboo P. Crumbcake|1234 Main Street|San Francisco|C +A|94124|123-4567|Zebar X. Zipwon|3456 Second Ave.|San Francisco|C +A|94131|999-1234|Xbaz A. Fule|9123 Lost Road|Oakland|CA|97541|43 +1-4312 zentara@localhost|Ybong A. Gong|3456 Wain Street|San Francisco|CA|9413 +1|999-1234

I'm not really a human, but I play one on earth.
Old Perl Programmer Haiku ................... flash japh

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://992461]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (7)
As of 2018-04-19 20:04 GMT
Find Nodes?
    Voting Booth?