#!/usr/bin/perl use CGI::Carp qw(fatalsToBrowser); use strict; use warnings; use lib "/home/..../..../public_test/cgi-bin"; # Toggle sending method my $METHOD = 0; use MIME::Lite; use incl::HTML; if ($ENV{'GATEWAY_INTERFACE'}) { print "Content-type: text/plain\n\n" ; } $/ = undef; my $subject = 'Testing email'; my $message = ; my $fname = 'Andrew'; my $sname = 'Test'; my $tomail = 'ian@l******t.co.uk'; if ($METHOD) { $dbh->do("CREATE TEMPORARY TABLE Email_Test ( `from` VARCHAR(100) NULL DEFAULT NULL, `email` VARCHAR(100) NULL DEFAULT NULL, `subject` VARCHAR(100) NULL DEFAULT NULL, `message` BLOB NULL DEFAULT NULL ) ENGINE = MyISAM"); $dbh->do("INSERT INTO Email_Test SET `from` = 'Bod', email = 'ian\@boddison.com', subject = ?, message = ?", undef, $subject, $message); my ($from, $email, $subject, $message) = $dbh->selectrow_array("SELECT `from`, email, subject, message FROM Email_Test LIMIT 1"); $subject =~ s/%FNAME%/$fname/g; # There are $subject =~ s/%SNAME%/$sname/g; # more of $message =~ s/%FNAME%/$fname/g; # these in $message =~ s/%SNAME%/$sname/g; # production my $mail = MIME::Lite->new( To => "\"$fname\" <$tomail>", From => "\"$from\" <$email>", Subject => "$subject", Type => 'text/html', Data => $message, ); my $check = $mail->send; print "Failed to send to $fname $sname ($tomail)\n" unless ($check); } else { my $name = "$fname $sname"; $subject=~s/%FNAME%/$fname/g; $subject=~s/%SNAME%/$sname/g; $message=~s/%FNAME%/$fname/g; $message=~s/%SNAME%/$sname/g; my $mime = MIME::Lite->new( From => "\"Ian Boddison\"", To => "\"$name\"<$tomail>", Subject => $subject, # Type => 'multipart/alternative', # ); # $mime->attach( # Type => 'text/plain', # Data => $data{'plaintext'}, # ); # $mime->attach( Type => 'text/html', Data => $message, ); my $chk; eval { $chk = $mime->send() }; if ($@) { print "Error - $@\n"; } } print "\nComplete...\n"; __DATA__

🥁 Introducing On Radar ‑ where quirk meets impact! 🚀