On Wed, 19 Dec 2001 04:55:25 +0200, [EMAIL PROTECTED] (Christo Rademyer) wrote:

>Hi im looking for a simple perl mail program source code ,  program that takes your 
>input and ask you for the address , etc,, and mail you the info to an address.
>Thanx 4 ur help.
>

Here's one I've been learning with.
There is an html form to submit, and a
cgi to sendmail, write a log, and issue a thank you 
page.
I adapted it from a guestbook example, and added
strict and taint checking.  I think the taint checking
could be improved. You can add any info you want
after the $comment variable in the outmail sub.

###########################################################
#!/usr/bin/perl -T 
use strict;
#use diagnostics;
use warnings;
use CGI qw/:standard/;

my $sendmailpath = '/usr/sbin/sendmail';

# fields from html submit
my $name = param("name");
if ($name =~ /^([-\@\w.]+)$/){$name= $1;} #untaint
my $email = param("email");
if ($email =~ /^([-\@\w.]+)$/){$email= $1;}
my $comments = param("comments");
if ($comments =~ /^([-\@\w.]+)$/){$comments= $1;}

# this is the string that will be appended to the data file
my $information = "$name\|$email\|$comments";

sub outmail {
my $from = '[EMAIL PROTECTED]';
my $to = $email;
my $subject = 'Thank You!';
$ENV{PATH} = '/bin:/usr/bin'; #untaint

open (NEWMAIL,"|$sendmailpath -t")or die "Cannot open sendmail: $!";

print NEWMAIL<<THANKS;
Subject: $subject
From: $from
To: $to

Thank you for signing my guest book.
Your comments were:
$comments
#add other info here if you want
 -- zentara
THANKS

close (NEWMAIL);
}

# Start prints form results, saves to file and outputs a ThankYou html.
print header();
start_html();
print "\n";

# Here's where it opens maildata for appending and adds $information to it
open (MAILDATA, ">>./maildata");
print MAILDATA
"$information\n####################################################\n";
close(MAILDATA);

# Then it prints a message to say that everything worked
if ($email) { 
&outmail ;
print "<div align\=\"center\">Thanks for signing my guestbook<\/div><br>\n";
} else {
print "Thank you for visiting\n" ;
}
print "\n";
print end_html();

##########################################################################
#The html submit form
<html>
<head>
<title>Send us an e-mail...</title>
</head>

<body>
<font size="5">Send us an e-mail...</font><font size="4"><br></font>
<form action="cgi-bin/zmail.cgi" method="POST">
  <p><font size="4">Your Name (required):</font><br>
  <input type="text" name="name" size="50"></p>
  <p><font size="4">Your E-mail (required):</font><br>
  <input type="text" name="email" size="50"></p>
  <p><font size="4">Your message (required):</font><br>
  <textarea rows="16" name="comments" cols="80"></textarea></p>
  <p><input type="submit" value="Click Once to Send" name="B1"> <input
type="reset" value="Clear" name="B2"></p>
</form>
</body>
</html>


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to