Kontaktformular - Mail wird nicht verschickt

B-Squad

Mitglied
Abend alle zusammen,

Ich habe ein Problem mit meinem Kontaktformular. Und zwar hat das Formular auf anderen Servern funktioniert, aber auf dem Strato Server geht es irgendwie nicht mehr.

Wenn man das Formular ausfuellt, dann kommt zwar die Bestaetigung, dass die Mail verschickt wurde, aber in meinem Postfach kommt irgendwie nix an :(


Koennt ihr euch vllt das Script mal angucken und mir sagen woran es liegen koennte ?! Habe hier im Forum schon was darueber gelesen .. irgendwas mit "register_globals" .. hab jedoch nicht verstanden, was genau an meinem Script geaendert werden muss :D

PHP:
<?php
//HTML- und PHP-Tags aus den Eingabefeldern entfernen
       $vorname=strip_tags($_POST['vorname']);
	   $nachname=strip_tags($_POST['nachname']);
	   $telefon=strip_tags($_POST['telefon']);
	   $firma=strip_tags($_POST['firma']);
	   $email=strip_tags($_POST['email']);
	   $adresse=strip_tags($_POST['adresse']);	  
	   $nachricht=strip_tags($_POST['nachricht']);
//Variablenübergabe
	$vorname = $_POST['vorname'];
	$nachname = $_POST['nachname'];
	$telefon = $_POST['telefon'];
	$firma = $_POST['firma'];
	$email = $_POST['email'];
	$adresse = $_POST['adresse'];
	$nachricht = $_POST['nachricht'];
//Überprüfung der E-Mail Eingabe
		if(!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$",$email)){
       		$emailrichtig="";
       }else{
       		$emailrichtig = $email;
       }
//Überprüfung auf die Eingabe des Vornamens
		if($vorname=="*Vorname" or $vorname=="")
		{
		$vornamerichtig = "";
		}else{
		$vornamerichtig = $_POST['vorname'];
		}
//Überprüfung auf den Nachnamen
		if($nachname=="*Nachname" or $nachname=="")
		{
		$nachnamerichtig = "";
		}else{
		$nachnamerichtig = $_POST['nachname'];
		}
//Überprüfung auf die Adresse
		if($adresse=="*Adresse" )
		{
		$adresserichtig = "";
		}else{
		$adresserichtig = $_POST['adresse'];
		}
//Überprüfung auf die Nachricht
		if(empty($_POST['nachricht']) or $_POST['nachricht'] =="*Bitte geben Sie hier Ihre Nachricht ein")
		{
		$nachrichtrichtig = "";
		}else{
		$nachrichtrichtig = $_POST['nachricht'];
		}
//Überprüfung ob alle Angaben korrekt gemacht worden sind:
if($_POST['submit'] && $emailrichtig >"" && $vornamerichtig >"" && $nachnamerichtig >"" && $adresserichtig >"" && $nachrichtrichtig >"")
{
//-----------------Anweisungen wenn das Formular korrekt ausgefüllt wurde-----------

//Alle Felder ausgefüllt - eMail generieren für ET-Online
      $recipient="info@cnsolution.de";
	  $header="From: " . $email . "\r\n";
      $subject="Das Kontaktformular aus dem Internet wurde ausgefüllt!\n";
      $mail_body ="Das Anfrage-Formular wurde am " . date("d.m.Y") . " um " . date("H:i") . "h ausgeführt.\n";
      $mail_body.="Folgende Werte wurden eingetragen:\n\n";
      $mail_body.="Vorname: " . $vorname . "\n";
      $mail_body.="Nachname: " . $nachname . "\n";
	  $mail_body.="Adresse: " . $adresse . "\n";
	  $mail_body.="Firma: " . $firma . "\n";
	  $mail_body.="Telefon " . $telefon . "\n";
      $mail_body.="Email: " . $email . "\n\n";
      $mail_body.=$nachricht . "\n\n ---- Ende der automatisch generierten eMail ----";

		//email generieren für den User
       $antwort="$vorname $nachname,\n";
       $antwort.="\nvielen Dank für Ihre Nachricht auf der C.N.SOLUTION Website vom " . date("d.m.Y") .".\n";
	   $antwort.="Ihre Anfrage wurde weitergeleitet und wird umgehend bearbeitet.\n";
       $antwort.="\n\nMit freundlichen Grüßen\n";
       $antwort.="C.N.Solution Webredaktion";

	  //Mail an C.N.SOLUTION verschicken
       mail($recipient,$subject,$mail_body,$header);

	   //Mail an den User verschicken
       mail($email, "Re: Anfrage über das Kontaktformular", $antwort,"From:info@cnsolution.de");

	   echo "<p align=\"center\" class=\"Stil2 Stil3\">$vorname $nachname,<br><br>";
	   echo "vielen Dank für Ihre Nachricht auf der C.N.SOLUTION Website vom " . date("d.m.Y") .".<br>";
	   echo "Ihre Anfrage wurde weitergeleitet und wird umgehend bearbeitet.<br>";
       echo "<br><br>Mit freundlichen Grüßen<br>";
       echo "C.N.Solution Webredaktion</p>";








//------------------Ende der Anweisung bei korrekter Ausfüllung---------------------
}
else
{
?>  
			
			<p align="center" class="Stil2 Stil4"><font color="#FFFFFF"><strong>Haben
                    Sie eine Frage oder ein Anliegen? </strong><br>
                    <br>
              Dann f&uuml;llen Sie bitte unser Kontaktformular
              aus. Wir werden uns Ihren Anliegen unverz&uuml;glich annehmen. </font></p>            </td>
          </tr>
          <tr>		  
            <td><form method="POST" action="<?php echo $_SERVER['PHP_SELF'];?>">
              <table width="300" border="0" align="center" cellpadding="1" cellspacing="1">
                <tr>
                  <td>
                    <div align="center">
	<?php
		  	if($_POST['submit'] && $vorname=="*Vorname")
			{
				echo "<input name=\"vorname\" type=\"text\" class=\"textfeldzwei\" onFocus=\"this.value='';\" id=\"Vorname\" value=\"*Vorname\" maxlength=\"50\">";
			}elseif ($_POST['submit'] && $vorname==""){
				echo "<input name=\"vorname\" type=\"text\" class=\"textfeldzwei\" onFocus=\"this.value='';\" id=\"Vorname\" value=\"*Vorname\" maxlength=\"50\">";
			}elseif ($vorname==""){
				echo "<input name=\"vorname\" type=\"text\" class=\"formular_textfeld\" onFocus=\"this.value='';\" id=\"Vorname\" value=\"*Vorname\" maxlength=\"50\">";
			}else{
				echo "<input name=\"vorname\" type=\"text\" class=\"formular_textfeld\" onFocus=\"this.value='';\" id=\"Vorname\" value=\"$vorname\" maxlength=\"50\">";
			}
		?>				
                    </div>                  </td>
                  <td><div align="center">
                    <input name="telefon2" type="text" class="formular_textfeld" onFocus="this.value='';" value="Telefon" maxlength="30">
                  </div></td>
                </tr>
                <tr>
                  <td><div align="center">
		<?php
		  	if($_POST['submit'] && $nachname=="*Nachname")
			{
				echo "<input name=\"nachname\" type=\"text\" class=\"textfeldzwei\" onFocus=\"this.value='';\" id=\"Nachname\" value=\"*Nachname\" maxlength=\"50\">";
			}elseif ($_POST['submit'] && $nachname==""){
				echo "<input name=\"nachname\" type=\"text\" class=\"textfeldzwei\" onFocus=\"this.value='';\" id=\"Nachname\" value=\"*Nachname\" maxlength=\"50\">";
			}elseif ($nachname==""){
				echo "<input name=\"nachname\" type=\"text\" class=\"formular_textfeld\" onFocus=\"this.value='';\" id=\"Nachname\" value=\"*Nachname\" maxlength=\"50\">";
			}else{
				echo "<input name=\"nachname\" type=\"text\" class=\"formular_textfeld\" onFocus=\"this.value='';\" id=\"Nachname\" value=\"$nachname\" maxlength=\"50\">";
			}
		?>					  
                  </div></td>
                  <td><div align="center">
                    <input name="firma" type="text" class="formular_textfeld" onFocus="this.value='';" value="Firma" maxlength="50">
                  </div></td>
                </tr>
                <tr>
                  <td><div align="center">
<?php
		  	if($_POST['submit'] && (!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$",$email)))
			{
				echo "<input name=\"email\" type=\"text\" class=\"textfeldzwei\" onFocus=\"this.value='';\" id=\"Email\" value=\"*Email\" maxlength=\"50\">";
			}elseif ($email=="" && (!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$",$email))){
				echo "<input name=\"email\" type=\"text\" class=\"formular_textfeld\" onFocus=\"this.value='';\" id=\"Email\" value=\"*Email\" maxlength=\"50\">";
			}else{
				echo "<input name=\"email\" type=\"text\" class=\"formular_textfeld\" onFocus=\"this.value='';\" id=\"Email\" value=\"$email\" maxlength=\"50\">";
			}
		?>
                  </div></td>
                  <td><div align="center">
		<?php
		  	if($_POST['submit'] && $adresse=="*Adresse")
			{
				echo "<input name=\"adresse\" type=\"text\" class=\"textfeldzwei\" onFocus=\"this.value='';\" id=\"Adresse\" value=\"*Adresse\" maxlength=\"50\">";
			}elseif ($_POST['submit'] && $adresse==""){
				echo "<input name=\"adresse\" type=\"text\" class=\"textfeldzwei\" onFocus=\"this.value='';\" id=\"Adresse\" value=\"*Adresse\" maxlength=\"50\">";
			}elseif ($adresse==""){
				echo "<input name=\"adresse\" type=\"text\" class=\"formular_textfeld\" onFocus=\"this.value='';\" id=\"Adresse\" value=\"*Adresse\" maxlength=\"50\">";
			}else{
				echo "<input name=\"adresse\" type=\"text\" class=\"formular_textfeld\" onFocus=\"this.value='';\" id=\"Adresse\" value=\"$adresse\" maxlength=\"50\">";
			}
		?>	
                  </div></td>
                </tr>
                <tr>
                  <td colspan="2"><div align="center">
                    <label>
		  <?php
		  	if($_POST['submit'] && 	empty($_POST['nachricht']) or $_POST['nachricht'] == "*Bitte geben Sie hier Ihre Nachricht ein")
			{
            	echo "<textarea name=\"nachricht\" class=\"textareazwei\" onFocus=\"this.value='';\" wrap=\"virtual\">*Bitte geben Sie hier Ihre Nachricht ein</textarea>";
			}elseif ($_POST['submit'] && $nachricht==""){
				echo "<textarea name=\"nachricht\" class=\"textareazwei\" onFocus=\"this.value='';\" wrap=\"virtual\">*Bitte geben Sie hier Ihre Nachricht ein</textarea>";
			}elseif ($nachricht==""){
				echo "<textarea name=\"nachricht\" class=\"formular_textarea\" onFocus=\"this.value='';\" wrap=\"virtual\">*Bitte geben Sie hier Ihre Nachricht ein</textarea>";
			}else{
				echo "<textarea name=\"nachricht\" class=\"formular_textarea\" onFocus=\"this.value='';\" wrap=\"virtual\">$nachricht</textarea>";
			}
		?>
                    </label>
                  </div>                    <div align="center"></div></td>
                </tr>
                <tr>
                  <td>
                    <div align="center">
                      <input name="submit" type="submit" class="formular_button" value="Senden">
                    </div>                  </td>
                  <td><div align="center">
                    <input name="Submit2" type="reset" class="formular_button" value="Zur&uuml;cksetzen">
                  </div></td>
                </tr>
              </table>
                        </form>
								  <p align="center" class="Stil2 Stil3 Stil4">Die mit * gekennzeichneten Felder sind Pflichtfelder!</p>
<?php
}
?>
 
Bei mir funktionert das Script. Läuft der Mail-Server (einwandfrei)?

Hmm will ich doch hoffen, dass er laeuft ;)

Also bei "Plesk" --> "Server" --> "Diensteverwaltung" laufen folgende Dienste:

WEB-Server (Apache)
SMTP-Server (QMail)
IMAP/POP3-Server (Courier-IMAP)
DNS-Server (BIND)

Oder muss der Mail Server woanderes eingeschaltet werden ?
 
Der scheint zu laufen. Ist jetzt nur die Frage ob die Bedingung in der Klammer von meinem letzten Post erfüllt wird. (einwandfrei) ^^
 
Schreib doch einfach ein extra php Script mit diesem Inhalt:
Code:
<?php
$mail="die Emailadresse";
$aw="Betreff";
$msg="Es Funktioniert";

mail($mail,$aw,$msg);
?>

Wenn der Mailserver funktioniert dann kommt eine Email mit dem Inhalt:
Es Funktioniert

lg
 
Hallo,

gehe mal deine Überprüfungen nach folgenden Schema durch.

//Überprüfung auf die Eingabe des Vornamens
if(empty($vorname))
{
$vornamerichtig = "";
}else{
$vornamerichtig = $vorname;
}

um den mailserver zu testen, z.B. so "telnet meine_server_ip_adresse 25"

PHP:
//HTML- und PHP-Tags aus den Eingabefeldern entfernen
       $vorname=strip_tags($_POST['vorname']);
       $nachname=strip_tags($_POST['nachname']);
       $telefon=strip_tags($_POST['telefon']);
       $firma=strip_tags($_POST['firma']);
       $email=strip_tags($_POST['email']);
       $adresse=strip_tags($_POST['adresse']);      
       $nachricht=strip_tags($_POST['nachricht']);
//Variablenübergabe
    $vorname = $_POST['vorname'];
    $nachname = $_POST['nachname'];
    $telefon = $_POST['telefon'];
    $firma = $_POST['firma'];
    $email = $_POST['email'];
    $adresse = $_POST['adresse'];
    $nachricht = $_POST['nachricht'];
der Block ist doppelt gemoppelt, außerdem machst du damit alles wieder rückgängig, was du eigentlich verhindern wolltest.
$vorname=strip_tags($_POST['vorname']);
reicht aus. Ändere das mal alles und rücke den Code wegen Übersichtlichkeit richtig ein, danach schauen wir weiter.

Gruss
 
Zuletzt bearbeitet von einem Moderator:
Schreib doch einfach ein extra php Script mit diesem Inhalt:
Code:
<?php
$mail="die Emailadresse";
$aw="Betreff";
$msg="Es Funktioniert";

mail($mail,$aw,$msg);
?>

Wenn der Mailserver funktioniert dann kommt eine Email mit dem Inhalt:
Es Funktioniert

lg


Hab das Script geschrieben, aber es kam nix an :(

So wie es aussieht liegt es an dem Mailserver .. aber wie bekomme ich ihn richtig zum laufen ?
 
Zurück