Hier mein Code:
Das Problem ist: Formular an sich funktioniert prima, gibt man eine falsche email im Formular an, wird diese mit ereg jedoch nicht richtig gepr�ft.
Au�erdem wird die Standardemail des Servers als Versandadresse eingesetzt, egal ob man ein File mitschickt oder nicht.
Vermutung daher, dass hier die Servermail gepr�ft wird, die nat�rlich die richtige Syntax hat.
Kann ich das irgendwie umgehen? Eigentlich sollte er ja die email aus dem Formular pr�fen oder habe ich einen Denkfehler drin?
MFG
shapeshifta
Code:
<?php include 'Empfaenger.php'; if($_REQUEST['Send']) { if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) && ereg("^[a-zA-Z]{1,}[-_a-zA-Z0-9]{0,}\.{0,1}[-_a-zA-Z0-9]{0,}@{1}[-a-zA-Z0-9]{2,}\.{1}[a-zA-Z]{2,4}$", $_REQUEST['Email']) || empty($_REQUEST['Nachricht']) ) { echo"Bitte f�llen Sie alle Felder richtig aus! "; echo 'Fenster schlie�en'; } else { $Mailbetreff = "Kundenemail: "; $Mailbetreff .= $_REQUEST['Betreff']; $Trenner = md5(uniqid(time())); $Header = "Von: ".$_REQUEST['Email']; $Header .= "\n"; $Header .= "MIME-Version: 1.0"; $Header .= "\n"; $Header .= "Content-Type: multipart/mixed; boundary=$Trenner"; $Header .= "\n\n"; $Header .= "This is a multi-part message in MIME format"; $Header .= "\n"; $Header .= "--$Trenner"; $Header .= "\n"; $Header .= "Content-Type: text/plain"; $Header .= "\n"; $Header .= "Content-Transfer-Encoding: 8bit"; $Header .= "\n\n"; $Header .= "Sie haben folgende Nachricht erhalten: \n\n"; $Header .= "Sender IP: $_SERVER[REMOTE_ADDR]\n\n"; while(list($Formularfeld, $Wert)=each($_REQUEST)) { if($Formularfeld!="Send" && $Formularfeld!="Anhang") { $Header .= $Formularfeld.": ".$Wert."\n"; } } $Header .= "\nDatum/Zeit: "; $Header .= date("d.m.Y H:i:s"); $Header .= "\n"; if (is_uploaded_file($Anhang)) { $Header .= "--$Trenner"; $Header .= "\n"; $Header .= "Content-Type: "; $Header .= $_FILES['Anhang']['type']; $Header .= "; name="; $Header .= $_FILES['Anhang']['name']; $Header .= "\n"; $Header .= "Content-Transfer-Encoding: base64"; $Header .= "\n"; $Header .= "Content-Disposition: attachment; filename="; $Header .= $_FILES['Anhang']['name']; $Header .= "\n\n"; $Dateiinhalt = fread(fopen($_FILES['Anhang']['tmp_name'], "r"), $_FILES['Anhang']['size']); $Header .= chunk_split(base64_encode($Dateiinhalt)); $Header .= "\n"; $Header .= "--$Trenner--"; echo "Ihre Datei ".$Anhang."hat die Gr��e ".$Anhang_size." und wurde erfolgreich verschickt."; } mail($Empfaenger, $Mailbetreff, "", $Header); echo "Vielen Dank f�r Ihre eMail! Wir werden Sie in K�rze kontaktieren! "; echo 'Fenster schlie�en'; } } ?>
Au�erdem wird die Standardemail des Servers als Versandadresse eingesetzt, egal ob man ein File mitschickt oder nicht.
Vermutung daher, dass hier die Servermail gepr�ft wird, die nat�rlich die richtige Syntax hat.
Kann ich das irgendwie umgehen? Eigentlich sollte er ja die email aus dem Formular pr�fen oder habe ich einen Denkfehler drin?
MFG
shapeshifta
Kommentar