2a3,4 > use DBI; > use Mail::Mailer; 3a6 > use Net::SMTP; 5a9,17 > my (%db) = ( > 'database' => 'isp', > 'username' => 'mailinglist', > 'password' => 'password', > 'hostname' => 'db.mydomain.com', > ); > > my ($dsn) = "DBI:Pg:dbname=$db{'database'};host=$db{'hostname'}"; > 49a62,82 > > my ($dbh); > unless ($dbh = DBI->connect($dsn, $db{q/username/}, $db{q/password/})) { > print STDERR qq/Cannot connect to data source $dsn - $!\n/; > exit 1; > } > my $users = $dbh->prepare(qq/SELECT mail.email, customers.firstname, customers.lastname FROM mail, accounts, customers WHERE accounts.terminationdate = NULL AND customers.activated = 'Y' AND ((mail.id = accounts.id) AND (accounts.customerid = customers.id)) ORDER BY mail.id/); > $users->execute; > while (my ($email, $firstname, $lastname) = $users->fetchrow_array) { > my ($mail) = Mail::Mailer->new(qq/smtp/, Server => qq/localhost/); > my (%output) = ( > 'To' => qq/$email ($firstname $lastname)/, > 'From' => qq/$headers{q!From!}/, > 'Subject' => qq/$headers{q!Subject!}/ > ); > $mail->open(\%output); > print $mail $body; > $mail->close; > } > $users->finish; > $dbh->disconnect;