MattJakel
08-15-2004, 04:56 AM
I have written a script that writes a file to the server, and I would like the file to then be sent through email to the webmaster of that site. I've done a bit of searching but can't quite figure out how to go about doing this. Any help would be a appreciated.
Thanks,
Matt
Not sure if this includes useful scripts but take a look at the sendmail parts.
#!/usr/bin/perl
use CGI qw(:standard :form);
use strict;
# The Email Address will be used to receive mail
my $recipient = 'contact@mydomain.com';
# The Subject Title of the mail
my $subject = 'Contacting the CHRIS System';
# Path to sendmail (defualt /usr/sbin/sendmail)
my $mail_prog = '/usr/sbin/sendmail';
# Fields of the HTML form.
my @fields = ('realname','email','body');
my $dpt_dat_file = './dpt.dat';
my $query = new CGI;
my $script_url = $ENV{'SCRIPT_NAME'};
my $department = $query->param('dpt');
my $section = $query->param('section');
my $action = $query->param('action');
my ($dpt,$dpt_name,$dpt_logo,$dpt_address,$dpt_email,$dpt_url,$dpt_image1,$dpt_1024link,$dpt_800link,$d pt_size1img1,$dpt_size2img1,$dpt_size3img1,$dpt_size4img1,$dpt_size5img1,$dpt_size6img1,$dpt_size7im g1,$dpt_size8img1,$dpt_size9img1,$dpt_size10img1,$dpt_size11img1,$dpt_size12img1,$dpt_size13img1,$dp t_size14img1,$dpt_size15img1,$dpt_size16img1,$dpt_size17img1,$dpt_size18img1,$dpt_size19img1,$dpt_si ze20img1,$dpt_size21img1,$dpt_size22img1,$dpt_size23img1,$dpt_size24img1,$dpt_size25img1,$dpt_size26 img1,$dpt_size27img1,$dpt_size28img1,$dpt_size29img1,$dpt_size30img1,$dpt_size31img1,$dpt_size32img1 ,$dpt_size33img1,$dpt_size34img1,$dpt_size35img1,$dpt_text);
print $query->header(-type=>'text/html');
$section = 'txt' if(!$section);
open(DPTDAT,"<$dpt_dat_file");
while(<DPTDAT>) {
chomp;
if($_ =~ /^$department\t/) {
($dpt,$dpt_name,$dpt_logo,$dpt_address,$dpt_email,$dpt_url,$dpt_image1,$dpt_1024link,$dpt_800link,$d pt_size1img1,$dpt_size2img1,$dpt_size3img1,$dpt_size4img1,$dpt_size5img1,$dpt_size6img1,$dpt_size7im g1,$dpt_size8img1,$dpt_size9img1,$dpt_size10img1,$dpt_size11img1,$dpt_size12img1,$dpt_size13img1,$dp t_size14img1,$dpt_size15img1,$dpt_size16img1,$dpt_size17img1,$dpt_size18img1,$dpt_size19img1,$dpt_si ze20img1,$dpt_size21img1,$dpt_size22img1,$dpt_size23img1,$dpt_size24img1,$dpt_size25img1,$dpt_size26 img1,$dpt_size27img1,$dpt_size28img1,$dpt_size29img1,$dpt_size30img1,$dpt_size31img1,$dpt_size32img1 ,$dpt_size33img1,$dpt_size34img1,$dpt_size35img1,$dpt_text) = split(/\t/,$_);
}
}
close(DPTDAT);
if($action eq 'result') { &result; }
else { &form; }
sub get_text {
my $text;
open(DPTTXT,"<$_[0]") or die print "Fail to read $_[0]: $!";
while(<DPTTXT>) {
$text .= $_;
}
close(DPTTXT);
return $text;
}
sub form {
print qq(
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
<title>CHRIS System</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="http://www.mydomain.com/globalstyle.css">
</head>
<body>
<div class="header">
</div>
<div class="textmenubkgrnd"><a class="textmenu" href="http://www.mydomain.com"> Home Page </a><a class="textmenu" href="http://www.mydomain.com/cgi-bin/interest.pl?dpt=chris_dpt"> Register your Interest </a><a class="textmenu" href="http://www.mydomain.com/cgi-bin/contactchris.pl?dpt=chris_dpt"> Contact Us </a></div>
<div class="centerdiv">
<div class="leftdiv">
</div>
<div class="rightdiv">
<br /><br /><!-- START OF FORM DETAILS-->
<FORM ONCLICK="highlight(event)" METHOD="POST" ACTION="$script_url" name="myform" onSubmit="return checkit()">
<INPUT TYPE="HIDDEN" NAME="action" VALUE="result">
<INPUT TYPE="HIDDEN" NAME="dpt" VALUE="$department">
Your name please?<br /><INPUT TYPE="text" NAME="realname" SIZE="25"><br />What is your Email Address?<br><INPUT TYPE="text" NAME="email" SIZE="25"><br />Your message please.<br /><TEXTAREA COLS="21" ROWS="6" NAME="body" WRAP="Physical"></TEXTAREA><br /><br />
<input class="submitbuttons" type="submit" value="Send" name="B1">
<input class="submitbuttons" type="reset" value="Start over" name="B2"> </form>
</div>
<div class="textmenubkgrnd2"><a class="textmenu" href="http://www.mydomain.com/terms.htm">Terms Conditions</a><a class="textmenu" href="http://www.mydomain.com/products.htm">Products</a><a class="textmenu" href="http://www.mydomain.com/scripts.htm">Web Safety</a><a class="textmenu" href="http://www.mydomain.com/designtips.htm">Page Design</a><a class="textmenu" href="http://www.mydomain.com/codingtips.htm">Page Coding</a>
</div></div>
<div class="bottomdiv">
<p class="addressbox">my address</p>
</div>
</body>
</html>
);
}
sub result {
my $msg;
my @error;
$msg .= "Enquiry for: $dpt_name\n";
foreach (@fields) {
if($query->param("$_") =~ /\|/ || $query->param("$_") =~ /\\/ || $query->param("$_") =~ /\//) {
push @error, "$_ field contains invalid characters"
}
$msg .= join(': ',$_,$query->param("$_"))."\n";
}
if(@error) {
print qq(
Errors:<BR>
);
foreach (@error) {
print "$_<BR>\n";
}
} else {
sendmail($msg);
print qq(
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
<title>CHRIS System</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="http://www.mydomain.com/globalstyle.css">
</head>
<body>
<div class="header">
</div>
<div class="textmenubkgrnd"><a class="textmenu" href="http://www.mydomain.com"> Home Page </a><a class="textmenu" href="http://www.mydomain.com/cgi-bin/interest.pl?dpt=chris_dpt"> Register your Interest </a><a class="textmenu" href="http://www.mydomain.com/cgi-bin/contactchris.pl?dpt=chris_dpt"> Contact Us </a></div>
<div class="centerdiv">
<div class="leftdiv">
</div>
<div class="rightdiv">
<p class="explanationtext">
Thank you for making contact with us. We shall be in touch with you as soon as possible.<br /><br />Return to <a class="standardlink" href="http://www.mydomain.com">The CHRIS System Home Page.</a></p>
</div>
<div class="textmenubkgrnd2"><a class="textmenu" href="http://www.mydomain.com/terms.htm">Terms Conditions</a><a class="textmenu" href="http://www.mydomain.com/products.htm">Products</a><a class="textmenu" href="http://www.mydomain.com/scripts.htm">Web Safety</a><a class="textmenu" href="http://www.mydomain.com/designtips.htm">Page Design</a><a class="textmenu" href="http://www.mydomain.com/codingtips.htm">Page Coding</a>
</div></div>
<div class="bottomdiv">
<p class="addressbox">my address</p>
</div>
</body>
</html>
);
}
}
sub sendmail {
open(MAIL,"|$mail_prog -t") or die print "Fail to open sendmail: $!\n";
print MAIL "To: $dpt_email\n";
print MAIL "From: ".$query->param('email')."\n";
print MAIL "Subject: $subject\n\n";
print MAIL $_[0];
close(MAIL);
}
Hopefully I shall soon be able to give back some of the help that you guys have given me.
Bazz
MattJakel
08-15-2004, 06:35 PM
Thanks for the reply bazz, but I already have the basic sendmail part done, I would just like to be able to attach a file from my server, which I can't figure out how to do.
Matt
Ooops, I thought you had that bit done and now just needed 'sendmail'
coat plz!
vBulletin® v3.8.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.