Guten Abend. Ich habe ein Problem mit meinem Formmailer. Ich habe eine contact.html Datei und eine mail.pl Datei. In dieser kann ich leider nicht richtig festlegen, das die eingebene e-Mail Adresse des Ausfüllers als Absender in der erhaltenen e-Mail erscheinen soll. Ich habe den Quelltext unten mal reingesetzt und hoffe, das mit jemand hier helfen kann. Ich bedanke mich schon einmal im Vorraus.
contact.html Datei
<html>
<head>
<title>Stammberger - Tuning</title>
<meta http-equiv="cache-control" content="no-cache">
<meta name="pragma" content="no-cache">
<link rel="stylesheet" href="design.css" type="text/css">
<META http-equiv=Page-Enter content=progid:DXImageTransform.Microsoft.GradientWipe(GradientSize=0.50,wipestyle=0,motion=forward>
<META http-equiv=Page-Exit content=progid:DXImageTransform.Microsoft.GradientWipe(GradientSize=0.50,wipestyle=0,motion=reverse>
</head>
<body>
<!--
<DIV id=overDiv style="Z-INDEX: 1000; VISIBILITY: hidden; POSITION: absolute"></DIV>
<SCRIPT language=JavaScript src="http://www.stammbergertuning.de/overlib.js" type=text/javascript></SCRIPT>
--><div align="center">
<center>
<table border="0" width="90%" cellspacing="10" height="66">
<tr><td><b><font size="4">Direktkontakt für Rückfragen</font></b></td></tr>
<SCRIPT language=JavaScript>
<!--
2* function chkFormular()
{
if(document.Formular.Vorname.value == "")
{
alert("Bitte geben Sie Ihren Vornamen ein!");
document.Formular.Vorname.focus();
return false;
}
if(document.Formular.Nachname.value == "")
{
alert("Bitte geben Sie Ihren Nachnamen ein!");
document.Formular.Nachname.focus();
return false;
}
if(document.Formular.Strasse.value == "")
{
alert("Bitte geben Sie Ihre Strasse ein!");
document.Formular.Strasse.focus();
return false;
}
if(document.Formular.Postleitzahl.value == "")
{
alert("Bitte geben Sie Ihre Postleitzahl ein!");
document.Formular.Postleitzahl.focus();
return false;
}
if(document.Formular.Ort.value == "")
{
alert("Bitte geben Sie Ihren Ort ein!");
document.Formular.Ort.focus();
return false;
}
if(document.Formular.email.value == " . .")
{
alert("Bitte geben Sie Ihre E-Mail-Adresse ein!");
document.Formular.email.focus();
return false;
}
if(document.Formular.email.value.indexOf('@') == -1)
{
alert("Leider haben Sie keine E-Mail-Adresse eingegeben!");
document.Formular.email.focus();
return false;
}
if(document.Formular.Mitteilung.value == "")
{
alert("Bitte fuellen Sie das Mitteilungsformular aus!");
document.Formular.Mitteilung.focus();
return false;
}
}
//-->
</SCRIPT>
<form action=http://www.stammbergertuning.de/cgi-bin/mail.pl method=post name=Formular
onsubmit="return chkFormular()"><INPUT name=subject type=hidden value=Kontaktformular_Stammbergertuning.de>
<input type="hidden" name="return" value="http://www.stammbergertuning.de/mail/antwortschreiben.htm">
<input type="hidden" name="delimiter" value=": ">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Die mit * gekennzeichneten Felder müssen ausgefüllt werden!</td>
</tr>
</table>
<br>
<table width="100%" border="0" cellspacing="2" cellpadding="2">
<tr>
<td align="right">
<span class="text2">* Vorname:</span></td>
<td><input id=Vorname maxLength=30 name=Vorname size=30></td>
</tr>
<tr>
<td align="right">
<span class="text2">* Nachname:</span></td>
<td><input id=Nachname maxLength=30 name=Nachname size=30></td>
</tr>
<tr>
<td align="right">
<span class="text2">* Strasse:</span></td>
<td><input id=Strasse maxLength=30 name=Strasse size=30></td>
</tr>
<tr>
<td align="right">
<span class="text2">* Postleitzahl:</span></td>
<td><input id=Postleitzahl maxLength=5 name=Postleitzahl size=5></td>
</tr>
<tr>
<td align="right">
<span class="text2">* Ort:</span></td>
<td><input id=Ort maxLength=30 name=Ort size=30></td>
</tr>
<tr>
<td align="right">
<span class="text2">Telefon:</span></td>
<td><input id=Telefon maxLength=30 name=Telefon size=30></td>
</tr>
<tr>
<td align="right">
<span class="text2">* E-Mail:</span></td>
<td><input id=email maxLength=30 name=email size=30></td>
</tr>
<tr>
<td align="right" valign="top"><span class="text2">* Mitteilung:</span></td>
<td with="100"><textarea name=Mitteilung rows="15" cols="80" class="textbox"></textarea></td>
</tr>
</table>
<input type="hidden" name="IP-Nummer" value="">
<input type="hidden" name="IP-Adresse" value="">
<table width="100%" border="0" cellspacing="2" cellpadding="2">
<tr>
<td height="40">
<div align="center"> <input type=submit value=Absenden name=send style="font-family: Arial; font-size: 12pt"> <input type=reset style="font-family: Arial; font-size: 12pt">
</div>
</td>
</tr>
</table>
</form>
</center></div>
<div align="center"><form action="javascript:history.back(-1)"><input name="zur Startseite" type="submit" value="zur Startseite" class="zurueck"></form></div>
</BODY>
</HTML>
mail.pl Datei
#!/usr/bin/perl
# -------> Individuelle Parameter des Skriptes - bitte anpassen!
# --> SMTP-Programm zum Versenden der Mail:
$Sendmail_Prog = "/usr/lib/sendmail";
# --> Ziel-Mailadresse, an die gesendet werden soll:
$mailto = 'marco@stammbergertuning.de';
# -------> Modul für CGI-Scripts einbinden:
use CGI;
# -------> Modul für CGI-Scripts zum Einlesen der Formulardaten anwenden:
$query = new CGI;
@names = $query->param;
# -------> interne Daten aus den erwarteten hidden-Feldern auslesen:
$delimiter = $query->param('delimiter'); # ---> Begrenzerzeichen zwischen name und value
$returnhtml = $query->param('return'); # ---> URL für Dankeseite
$subject = $query->param('subject'); # ---> E-Mail-Subject
# -------> alle Whitespace-Zeichen (Leerzeichen, Tabulator, Newline) in Leerzeichen wandeln
# VERHINDERT sonst möglichen MISSBRAUCH des Skripts
$subject =~ s/\s/ /g;
# -------> Text der E-Mail aus den Formulardaten ermitteln:
$mailtext = "";
foreach(@names) {
$name = $_;
@values = "";
@values = $query->param($name);
if($name ne "return" && $name ne "subject" && $name ne "delimiter") {
foreach $value (@values) {
$mailtext = $mailtext.$name;
$mailtext = $mailtext.$delimiter;
$mailtext = $mailtext.$value."\n";
}
}
}
# -------> E-Mail versenden:
open(MAIL,"|$Sendmail_Prog -t") || print STDERR "Mailprogramm konnte nicht gestartet werden\n";
print MAIL "To: $mailto\n";
print MAIL "Subject: $subject\n\n";
print MAIL "$mailtext\n";
close(MAIL);
# -------> Dankeseite an Browser senden:
print "Location: $returnhtml\n\n";