#!/usr/bin/perl -w #this program emails to a list of people stored in the file address.txt #address.txt is of the form: first name second name email use strict; use Mail::Mailer; sub splitStuff{ #split the text file into appropriate fields open(INFILE, "2address.txt"); my $from_address = "correct_email\@address.com"; my $subject = "test email - ignore"; my $to_address; my ($name, $firstnm, $lastnm); while () { my $line = $_; ($name, $to_address)=split("\t"); ($firstnm, $lastnm)=split(" ", $name); if ($to_address !~ /\@/) { print "There is no email address for $name. No e mail sent. \n"; next; } &mail($to_address, $from_address, $subject, $firstnm, $lastnm); print "Email sent to $firstnm $lastnm, email: $to_address \n"; } } sub mail () { my ($to_address, $from_address, $subject, $firstnm, $lastnm) = @_; #body my $body="hello $firstnm, \n how are you"; my $mailer = Mail::Mailer->new("sendmail"); $mailer->open({ From => $from_address, To => $to_address, Subject => $subject, }) or die ("error $firstnm, $lastnm"); print $mailer $body; $mailer->close(); } &splitStuff; close(INFILE);