php braucht hilfe bei der fehlersuche

jd89

Grünschnabel
Hey,
ich hab grade versucht das erste mal ein PHP-Formmailer zu programmieren...klappt soweit auch alles und es erscheint der Text "Nachricht erfolgreich gesendet" (o.ä.) aber leider kommt keine mail an...

ich kopiere einfach mal die Quelltexte hier herein:

Die HTML-Datei:
Code:
<html>
<head>
<title>Kontaktformular mit PHP</title>
</head>
<body>
<table border="0" cellpadding="1" cellspacing="2">
<form action="kontaktformular-auswerten.php" method="post">
<tr>
  <td>Name:</td>
  <td><input name="Name" size="20" type="text"></td>
</tr>
<tr>
  <td>eMail:</td>
  <td><input name="Email" size="20" type="text"></td>
</tr>
<tr>
  <td>Betreff:</td>
  <td><select name="Betreff" size="1"><option>Hilfe</option>
<option>Kritik</option><option>Werbung</option></select></td>
</tr>
<tr>
  <td>Nachricht:</td>
  <td><textarea cols="25" name="Nachricht" rows="5"></textarea></td>
</tr>
<tr>
  <td>Wünsche Antwort:</td>
  <td>Ja <input name="Antwort" checked type="radio" value="ja">    Nein <input name="Antwort" type="radio" value="nein"></td>
</tr>
<tr>
  <td>Newsletter abonnieren:</td>
  <td><input checked name="Newsletter" type="checkbox" value="ja"></td>
</tr>
<tr>
  <td align="center" colspan="2"><input name="Send" type="submit" value="Abschicken">    <input name="Reset" type="reset" value="Löschen"></td>
</tr>
</form>
</table>
</body>
</html>



Die PHP-Datei:
PHP:
<html>
<head>
<title>Kontaktformular mit PHP</title>
</head>
<body>
<?php

$Empfaenger = "schwatz-gelbe-seiten@arcor.de";

if($_REQUEST['Send'])
{
   if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']))
   {
      echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!";
   }
   else
   {
      $Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
      while(list($Formularfeld, $Wert)=each($_REQUEST))
      {
         if($Formularfeld!="Send")
         {
            $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
         }
      }
      $Mailnachricht .= "\nDatum/Zeit: ";
      $Mailnachricht .= date("d.m.Y H:i:s");
      $Mailbetreff = "Kontakt: ";
      $Mailbetreff .= $_REQUEST['Betreff'];
      mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
      echo"Vielen Dank für Ihre eMail!";
   }
}
else
{
   echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"kontaktformular.php\">Seite</a>.";
}

?>
</body>
</html>

Danke schon im voraus ;)
 
Als Erstes möchte ich dich bitten, dich mit den Regeln des PHP-Boards vertraut zu machen.

Zu deinem Problem: Einen syntaktischen Fehler kann ich nicht erkennen. Hast du schon mal im Spam-Ordner geschaut? Ist der Mailserver richtig konfiguriert? Und [phpf]error_reporting[/phpf] auf E_ALL stellen. Auch mal den Rückgabewert von [phpf]mail[/phpf] prüfen:
PHP:
if(mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']))
{
    echo 'Die Email wurde erfolgreich versand';
}
else
{
    echo 'Die Email konnte nicht verschickt werden';
}
 
Zuletzt bearbeitet:
Habe das mal probiert, leider wird der else-part ausgegeben...als error wird "2037" zurückgegeben...
irgendeine idee?
Die PHP-Datei ist im übrigen auf einem Tripod-Server
 
Es wird nur "2037" zurückgegeben? Kann ich mir nicht vorstellen. Poste mal bitte die komplette Fehlermeldung/Ausgabe.
 
Wahrscheinlich bin ich mal wieder zu dumm error_reporting richtig einzubauen habs wie folgt gemacht:
PHP:
if(mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']))
{
    echo 'Die Email wurde erfolgreich versand';
}
else
{
    echo error_reporting(E_ALL);
	
}

Daraufhin wurde nur 2037 zurückgegeben.
 
Ja das ist nicht ganz richtig ;) [phpf]error_reporting[/phpf] gehört an den Anfang deines Scripts (das "2037" ist der Wert, auf den [phpf]error_reporting[/phpf] eingestellt ist):
PHP:
error_reporting(E_ALL);
// code
if(mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']))
{
    echo 'Die Email wurde erfolgreich versand';
}
else
{
    echo 'Die Email konnte nicht verschickt werden';
}
 
So erstmal danke für deine Geduld ;)

Hier jetzt die Fehlermeldung:

Notice: Undefined variable: Empfaenger in /data/members/free/tripod/de/j/u/l/juliandorl/htdocs/kontaktformular-auswerten.php on line 11

Notice: Undefined variable: Mailbetreff in /data/members/free/tripod/de/j/u/l/juliandorl/htdocs/kontaktformular-auswerten.php on line 11

Notice: Undefined variable: Mailnachricht in /data/members/free/tripod/de/j/u/l/juliandorl/htdocs/kontaktformular-auswerten.php on line 11
Die Email konnte nicht verschickt werden
 
Zurück