Und die lautet ...?Habe versucht den Code einzubauen, bekomme aber immer wieder Fehlermeldung.
Hallo alle zusammen,
ich bin vor kurzem auf Rizzos wunderbaren PHP-Mailer gestoßen und als jemand der von PHP nur sehr geringe Kenntnisse besitzt, ist es eine wahre Hilfe.
Jetzt habe ich nur noch eine Frage hinsichtlich der Empfangsbestätigung. Habe versucht den Code einzubauen, bekomme aber immer wieder Fehlermeldung.
Vielleicht kann mir jemand helfen.
PHP-Code:// Wurde das Script bisher nicht abgebrochen, wurde das Formular korrekt ausgefüllt
// --------------------------------------------------------------------------------
// Template mit dem Mailbody laden
$template = file_get_contents( 'mailbody.txt' );
// Trenner für den Anhang
$trenner = md5( time() );
// Platzhalter mit den Benutzereingaben ersetzen
$template = str_replace( '###NAME###', htmlspecialchars( $name ), $template );
$template = str_replace( '###EMAIL###', $email, $template );
$template = str_replace( '###NACHRICHT###', nl2br( htmlspecialchars( $nachricht ) ), $template );
// Mail Header erstellen
$mailheader .= "Reply-To: " .$name. "<" .$email. ">\r\n";
$mailheader .= "Return-Path: noreply@" .$_SERVER['SERVER_NAME']. "\r\n";
$mailheader .= "Message-ID: <" .time(). " noreply@" .$_SERVER['SERVER_NAME']. ">\r\n";
$mailheader .= "X-Mailer: PHP v" .phpversion(). "\r\n";
$mailheader .= "From: PHP Email Tutorial<noreply@" .$_SERVER['SERVER_NAME']. ">\r\n";
$mailheader .= "MIME-Version: 1.0\r\n";
$mailheader .= "Content-Type: multipart/mixed;\r\n";
$mailheader .= " boundary = " .$trenner;
$mailheader .= "\r\n\r\n";
// Mailbody vorbereiten
$mailbody = "This is a multi-part message in MIME format\r\n";
$mailbody .= "--" .$trenner. "\r\n";
$mailbody .= "Content-Type: text/html; charset=UTF-8\r\n";
$mailbody .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
$mailbody .= $template. "\r\n\r\n";
// Anhang anfügen
$mailbody .= "--" .$trenner. "\r\n";
$mailbody .= "Content-Type: image/jpeg; name=\"" .$uploadname. "\"\r\n";
$mailbody .= "Content-Transfer-Encoding: base64\r\n";
$mailbody .= "Content-Disposition: attachment; filename=\"" .$uploadname. "\"\r\n\r\n";
$mailbody .= chunk_split( base64_encode( file_get_contents( $_FILES['datei']['tmp_name'] ) ) );
$mailbody .= "\n";
// Email versenden
if (@mail( $empfaenger, htmlspecialchars( $betreff ), $mailbody, $mailheader ))
{
// Bei erfolgreichem Versand Danke-Seite anzeigen
echo 'Danke, die Email wurde verschickt!';
}
if (@mail( $empfaenger, htmlspecialchars( $betreff ), $mailbody, $mailheader ))
{
// Bei erfolgreichem Versand Danke-Seite anzeigen
$mailheader = "From: Firma Max Mustermann<mustermann@domain.tld>\r\n";
$mailheader .= "Reply-To: Firma Max Mustermann<mustermann@domain.tld>\r\n";
$mailheader .= "Return-Path: noreply@" .$_SERVER['SERVER_NAME']. "\r\n";
$mailheader .= "MIME-Version: 1.0\r\n";
$mailheader .= "Content-Type: text/plain; charset=UTF-8\r\n";
$mailheader .= "Content-Transfer-Encoding: 7bit\r\n";
$mailheader .= "Message-ID: <" .time(). " noreply@" .$_SERVER['SERVER_NAME']. ">\r\n";
$mailheader .= "X-Mailer: PHP v" .phpversion(). "\r\n\r\n";
// Inhalt der Bestätigung
$mailbody = 'Vielen Dank für Ihre Email. Wir werden uns in Kürze bei Ihnen melden.';
// Bestätigung verschicken
if (@mail( $email, "Die Firma Max Mustermann bedankt sich", $mailbody, $mailheader ))
{
// Bestätigung wurde verschickt
}
}
}
?>
Und die lautet ...?Habe versucht den Code einzubauen, bekomme aber immer wieder Fehlermeldung.
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
Habe es noch einmal probiert. In dieser Form kommt nun keine Fehlermeldung mehr, aber ich bekomme auch keine Empfangsbestätigung. Die Mail an mich kommt an dagegen 2x an und der echo-Befehl wird ausgeführt, aber der Absender geht leer aus. Habe auch schon mal die zweite Befehlszeile
gelöscht. Da bekomme ich zwar nur eine Mail, aber die Empfangsbestätigung bleibt aus.PHP-Code:if (@mail( $empfaenger, htmlspecialchars( $betreff ), $mailbody, $mailheader ))
Vielleicht eine Idee, woran das liegen kann? Danke.
An wen soll denn die Empfangsbestätigung geschickt werden?
Bei Bestätigung wird es an $email versendet und nicht an $empfaenger. Weiß jetzt natürlich nicht was in den beiden Variablen drin steht.
Gruß
Matthias
Hallo,
also soweit ich das verstehe, soll die Email $empfaenger zu mir kommen. Und die Empfangsbestätigung $email zu denjenigen, der seine Kontaktdaten mit seiner Email-Adresse in das Kontaktformular eingegeben hat. Das heißt, die Email von $empfaenger ist fest und die von $email variabel, je nachdem wer seine Email-Adresse eingibt.
Es funktioniert aber nur die $empfaenger.
Danke.
gebe doch mal mit echo die Variable $email aus, bevor Du diese verschickst.
Eigentlich schaut es ja genauso aus, wie bei diesem Workshop.
Bis auf, dass Du die Email zweimal verschickst, aber denke mal das hast Du schon bemerkt.
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)