stammberger: Formmailer sendet den Namen des Servers als Absender

Beitrag lesen

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&uuml;r R&uuml;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&uuml;ssen ausgef&uuml;llt werden!</td>  
</tr>  
</table>  
<br>  
<table width="100%" border="0" cellspacing="2" cellpadding="2">  
<tr>  
   <td align="right">  
   <span class="text2">*&nbsp;Vorname:</span></td>  
  
   <td><input id=Vorname maxLength=30 name=Vorname size=30></td>  
 </tr>  
  
 <tr>  
   <td align="right">  
   <span class="text2">*&nbsp;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">*&nbsp;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">*&nbsp;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">&nbsp;<input type=submit value=Absenden name=send style="font-family: Arial; font-size: 12pt">&nbsp;&nbsp;&nbsp;<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";