#!/usr/bin/perl
print "Content-type: text/html", "\n\n";
print "<html>\n";
print "<body background=\"nevada.gif\">\n";
require TripodCGI;
use CGI;
$cgi = new CGI;
#
# get the information they entered on the form
#
$from=$cgi->param('from');
$subject=$cgi->param('subject');
$text=$cgi->param('text');
$from=$cgi->param('from');
$bcc_file="krud.txt";
&check_errors;
open(EMAIL,"|/usr/sbin/sendmail -t");
print EMAIL "TO: $from\n";
print EMAIL "FROM: $from\n";
print EMAIL "sender: $from\n";
print EMAIL "return-path: $from\n";
print EMAIL "Subject: $subject\n";
open (BCC,"$bcc_file");
while (<BCC>) {
print EMAIL "BCC: $_";
$sentletters++;
}
close(BCC);
print EMAIL "$text\n";
print EMAIL "\n";
print EMAIL ".\n";
close(EMAIL);
print "$sentletters e-mails sent\n";
exit;
sub check_errors {
$errors = 0;
if (! -f $bcc_file) {
print "ERROR! file $bcc_file does not exist!<br>";
$errors++;
}
if (-z $bcc_file) {
print "ERROR! file $bcc_file is empty and contains no email addresses!<br>";
$errors++;
}
if ( $from =~ /^ *$/ ) {
print "ERROR! From e-mail address required!<br>";
$errors++;
}
else {
if ( $from !~ /@/ ) {
print "ERROR! From e-mail address must contain an \@ character<br>";
$errors++;
}
else {
if ( $from !~ /.@/ ) {
print "ERROR! From e-mail '$from' address must contain a username like username\@site.com<br>";
$errors++;
}
if ( $from !~ /@./ ) {
print "ERROR! From e-mail '$from' address must contain a site name like username\@sitename.com<br>";
$errors++;
}
if ( $from !~ /@.*[^.]\.[^.]/ ) {
print "ERROR! From e-mail '$from' address site name must contain a "." like username\@sitename.com<br>";
$errors++;
}
if ( $from =~ /\.$/ ) {
print "ERROR! From e-mail '$from' address site name can't end with a "."<br>";
$errors++;
}
}
}
if ( $subject =~ /^ *$/ ) {
print "ERROR! Subject required!<br>";
$errors++;
}
if ( $text =~ /^ *$/ ) {
print "ERROR! Some Text in the body is required!<br>";
$errors++;
}
if ($errors > 0 ) {
print "Error! E-mail(s) not sent<p>";
exit;
}
return;
}