Hallo Caezar,
Ich habe das Problem das beim versenden keine Email ankommt, sondern sobald ich auf meinen Button Senden klinke, werde ich auf ein weißes Browserfester geleitet, wo das php Script steht.
was muss ich machen, damit das Formular richtig funktioniert???
<?php
$Empfaenger = "info@proprint-werbung.de";
ini_set('display_errors', '1');
error_reporting(-1);
[php.net empfiehlt für den Einsatz von error_reporting vordefinierte Konstanten zu nehmen.](http://www.php.net/manual/de/errorfunc.constants.php) Abgesehen davon weiss ich nicht, was bei Übergabe von "-1" passiert. Auf jeden Fall entspricht -1 keinem der vorgesehenen Werte. Evtl. siehst du somit auftretende Fehler nicht.
> ~~~php
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
{
$Mailbetreff = "Kontakt: ";
$Mailbetreff .= $_REQUEST['Betreff'];
$Trenner = md5(uniqid(time()));
$header = array();
$Header = "From: ".$_REQUEST['Email'];
$Header .= "n";
$Header .= "MIME-Version: 1.0";
$Header .= "n";
$Header .= "Content-Type: multipart/mixed; boundary=$Trenner";
$Header .= "nn";
$Header .= "This is a multi-part message in MIME format";
$Header .= "n";
$Header .= "--$Trenner";
$Header .= "n";
$Header .= "Content-Type: text/plain; charset=utf-8;"
$Header .= "n";
$Header .= "Content-Transfer-Encoding: 8bit";
$Header .= "nn";
$Header .= "Sie haben folgende Nachricht erhalten: nn";
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";
$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 .= "nn";
$Dateiinhalt = fread(fopen($_FILES['Anhang']['tmp_name'], "r"), $_FILES['Anhang']['size']);
$Header .= chunk_split(base64_encode($Dateiinhalt));
$Header .= "n";
$Header .= "--$Trenner--";
mail($Empfaenger, $Mailbetreff, "", $Header);
echo"Vielen Dank für Ihre eMail!";
}
}
else
{
?>
else was? (entweder hast du vergessen, den fehlenden Code hier zu posten, oder genau da liegt der Fehler...)
noch eine Anmerkung: An diversen Stellen fehlt (wahrscheinlich) ein Backslash vor dem "n". Statt
$Header .= "n";
sollte stehen:
$Header .= "\n";
Viele Grüße
mbr