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 = 'zentara@stream.net';
foreach my $recipient (keys %recipients){
my $smtp = Net::SMTP ->new('zentara.zen.net');
$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__
zentara@zentara.net|Zboo P. Crumbcake|1234 Main Street|San Francisco|C
+A|94124|123-4567
zentara@gypsyfarm.com|Zebar X. Zipwon|3456 Second Ave.|San Francisco|C
+A|94131|999-1234
zentara@highstream.net|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
|