Уважаемые знатоки языка Perl! Помогите чайнику создать страничку с контактной формой (отправка писем со странички). Я имею такой скрипт(email.cgi):
#!/usr/bin/perl
# required hidden fields:
# recipient - your e-mail address
# subject - subject of the message
# redirect - url to load when form is submitted
# use name="email" for e-mail address field
# Check path to your e-mail program and change path if it is different
# from below
$mailprog = '/usr/sbin/sendmail';
$date=`date +%D`;
$date=~s/\n$//;
$formdata=<STDIN>;
$formdata=~s/\s+$//;
foreach (split(/&/, $formdata))
{
($name, $value)=split(/=/, $_);
$name=~s/\+/ /g;
$name=~s/%([0-9|A-F]{2})/pack(C,hex($1))/eg;
$value=~s/\+/ /g;
$value=~s/%([0-9|A-F]{2})/pack(C,hex($1))/eg;
# if ($value eq "")
#{
#&exit($name);
#}
if ($name ne "recipient" && $name ne "subject" && $name ne "redirect")
{
push (@print, $name)
}
$data{$name}=$value;
}
if ($data{'email'} ne "" && $data{'email'} !~ /^[\w\.-]+@[\w\.-]+$/)
{
print "Content-type: text/html\n\n";
print "<html><head></head><body bgcolor=\"ffffff\">";
print "Пожалуйста введите правильный e-mail адрес.";
exit;
}
open(MAIL, "|$mailprog -t") || die "Can't open $mailprog!\n";
print MAIL "To: $data{'recipient'}\n";
print MAIL "From: $data{'email'}\n";
#print MAIL "Cc: $data{'email'}\n";
if ($data{'subject'})
{
print MAIL "Subject: $data{'subject'}\n\n";
}
else {
print MAIL "Subject: WWW Form Submission\n\n";
}
foreach (@print)
{
print MAIL "$_: $data{$_}\n";
}
close MAIL;
print "Location: $data{'redirect'}\n\n";
sub exit
{
local ($name)=@_;
print "Content-type: text/html\n\n";
print "<html><head></head><body bgcolor=\"ffffff\">";
print "Your must fill in <b>$name</b> to process this form.";
print " Please return back and do it. Thank you.";
print "</body></html>";
exit;
}
и такая форма:
<html>
<head>
<title>Контакт</title>
</head>
<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<p> <table class="namo-sublist" border="0" width="750"><tr> <td width="625" valign="top">
<form name="contactus" method="post" action="cgi-bin\email.cgi"
enctype="text/plain"><table width="445" align="center"><tr><td width="130" align="right"><p><font size="2" face="Century Gothic"><b>От :</b></font></td><td width="311" align="left"><p><font size="2" face="Century Gothic"><input
type="text" name="name">(Имя отправителя)</font></td></tr><tr><td width="130" align="right"><p><font size="2" face="Century Gothic"><b>E-Mail :</b></font></td><td width="311"><p><font size="2" face="Century Gothic"><input type="text"
name="email">(Ваш E-Mail адрес)</font></td></tr><tr><td width="130" align="right"><p><font size="2" face="Century Gothic"><b>Тема
:</b></font></td><td width="311" align="left"><p><font size="2" face="Century Gothic"><input
type="text" name="subject" style="text-align:center;"></font></td></tr><tr><td width="130" align="right" valign="top" rowspan="2"><p><font size="2" face="Century Gothic"><b>Сообщение :</b></font></td><td width="311"><font size="2" face="Century Gothic"><textarea name="message"
rows="5" cols="35"></textarea></font></td></tr><tr><td width="311" align="left"><p><font size="2" face="Century Gothic"><input type="submit" value="Послать"><input type="reset" value="Очистить"></font></td></tr></table></form></td>
</tr></table></p>
</body>
</html>
Требуется совместить скрипт с формой (отредактировать и то и другое), чтобы все работало и дать небольшую инструкцию ( можно на мыло:
niktih@mail.ru )!
Очень надеюсь на вашу поддержку.
Спасибо.