Re: Kontaktformular mit Bestätigungsmail?
Verfasst: Sa 1. Mär 2025, 16:50
Poste das Script hier mit der Code Option <>
Forum für Mobirise und NOF
https://www.mobirise-tutorials.com/Forum/
https://www.mobirise-tutorials.com/Forum/viewtopic.php?t=1656
Code: Alles auswählen
<?php
/*
* mailscript.php versenden über SMTP
* Version vom 21.07.2021
*
* Erfolgreich getestet mit: PHPMailer Version: 6.5.0
*/
// PHPMailer einbinden
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require "PHPMailer-master/src/Exception.php";
require "PHPMailer-master/src/PHPMailer.php";
require "PHPMailer-master/src/SMTP.php";
// Danke und Fehlerseite
$dankeSeite = "danke.html"; // Danke - Seite, die Mail wurde erfolgreich versandt.
$fehlerSeite = "fehler.html"; // Fehler - Seite, falls die Mail nicht versandt werden konnte.
// Betreff
// Jede E-Mail benötigt einen Betreff, da jedoch im Formular kein
// entsprechendes Feld gesetzt wurde, wird ein fester Betreff hinzugefügt.
$betreffEmail = "Kontaktformular Homepage KTC";
// Wurden POST-Daten gesendet?
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Zeitzone und das aktuelle Datum setzen
date_default_timezone_set("Europe/Berlin");
$datum = date("d.m.Y H:i");
// HTML-Tags entfernen
$_POST = array_map('strip_tags', $_POST);
// Inhalt der E-Mail setzen
$inhaltEmail = "Gesendet am: $datum Uhr
Vorname: " . $_POST["vorname"] . "
Nachname: " . $_POST["nachname"] . "
E-Mail: " . $_POST["email1"] . "
Phone: " . $_POST["phone"] . "
Nachricht: " . $_POST["textarea"] . "
";
// Instanz und Zeichenkodierung setzen
$mail = new PHPMailer();
$mail->CharSet = "UTF-8";
// Servereinstellungen
$mail->isSMTP(); // Senden mit SMTP
$mail->Host = "send.one.com"; // Postausgangsserver (SMTP)
$mail->SMTPAuth = true; // SMTP-Authentifizierung aktivieren
$mail->Username = "webmaster@kreuztalertanzclub-casino.de"; // SMTP Benutzername
$mail->Password = "xxxxxxxx"; // SMTP Passwort
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // Implizite TLS-Verschlüsselung aktivieren
$mail->Port = 465; // Port - Postausgangsserver (SMTP)
// Absender und Empfänger
$mail->setFrom("webmaster@kreuztalertanzclub-casino.de", "Info KTC"); // Absender
$mail->addAddress("webmaster@kreuztalertanzclub-casino.de", "Info KTC"); // Empfänger
// Der Absender bekommt eine Kopie
$mail->addCC($_POST["email1"]); // Falls BCC gewünscht: $mail->addBCC($_POST["email1"]);
// "Antworten an" den Absender der Nachricht setzen
$mail->addReplyTo($_POST["email1"], $_POST["name"]);
// Betreff und Body setzen
$mail->Subject = $betreffEmail;
$mail->Body = $inhaltEmail;
// E-Mail versenden
if ($mail->Send()) {
header("Location: " . $dankeSeite);
}
else {
header("Location: " . $fehlerSeite);
}
}
?>
Code: Alles auswählen
<?php
/*
* mailscript.php
* Version überarbeitet mit Absender-Kopie
*/
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require __DIR__ . '/PHPMailer-master/src/Exception.php';
require __DIR__ . '/PHPMailer-master/src/PHPMailer.php';
session_start(); // Session starten für Danke-Seite
// Empfänger-Daten
$empfaengerName = "Volker";
$empfaengerEmail = "volker@niederastroth.de";
$dankeSeite = "danke.php";
$fehlerSeite = "fehler.html";
$betreffEmail = "Kontaktformular Homepage";
// Wurden POST-Daten gesendet?
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Zeitzone setzen
date_default_timezone_set("Europe/Berlin");
$datum = date("d.m.Y H:i");
// Eingaben bereinigen
$name = htmlspecialchars(strip_tags($_POST["name"] ?? ""));
$email = filter_var($_POST["email"] ?? "", FILTER_VALIDATE_EMAIL);
$phone = htmlspecialchars(strip_tags($_POST["phone"] ?? ""));
$message = htmlspecialchars(strip_tags($_POST["message"] ?? ""));
if (!$email) {
header("Location: " . $fehlerSeite);
exit;
}
// Inhalt der E-Mail setzen
$inhaltEmail = "Gesendet am: $datum Uhr
Name: $name
E-Mail: $email
Phone: $phone
Nachricht: $message
";
// PHPMailer-Instanz
$mail = new PHPMailer();
$mail->CharSet = "UTF-8";
// Fester Absender (damit es nicht blockiert wird)
$mail->setFrom("no-reply@niederastroth.de", "Webseite Kontaktformular");
$mail->addReplyTo($email, $name); // Antwort an den Absender ermöglichen
// Empfänger setzen
$mail->addAddress($empfaengerEmail, $empfaengerName);
// "Antworten an" den Absender der Nachricht setzen
$mail->addReplyTo($email, $name);
// Der Absender bekommt eine Kopie
$mail->addCC($email); // Falls BCC gewünscht: $mail->addBCC($email);
// Betreff und Nachricht setzen
$mail->Subject = $betreffEmail;
$mail->Body = $inhaltEmail;
// E-Mail versenden
if ($mail->send()) {
// Daten für die Danke-Seite speichern
$_SESSION['name'] = $name;
$_SESSION['email'] = $email;
$_SESSION['phone'] = $phone;
$_SESSION['message'] = $message;
header("Location: " . $dankeSeite);
exit;
} else {
error_log("Mail-Fehler: " . $mail->ErrorInfo);
header("Location: " . $fehlerSeite);
exit;
}
}
?>
Code: Alles auswählen
<?php
/*
* mailscript.php versenden über SMTP
* Version vom 21.07.2021
*
* Erfolgreich getestet mit: PHPMailer Version: 6.5.0
*/
// PHPMailer einbinden
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require "PHPMailer-master/src/Exception.php";
require "PHPMailer-master/src/PHPMailer.php";
require "PHPMailer-master/src/SMTP.php";
// Danke und Fehlerseite
$dankeSeite = "danke.html"; // Danke - Seite, die Mail wurde erfolgreich versandt.
$fehlerSeite = "fehler.html"; // Fehler - Seite, falls die Mail nicht versandt werden konnte.
// Betreff
// Jede E-Mail benötigt einen Betreff, da jedoch im Formular kein
// entsprechendes Feld gesetzt wurde, wird ein fester Betreff hinzugefügt.
$betreffEmail = "Kontaktformular Homepage KTC";
// Wurden POST-Daten gesendet?
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Zeitzone und das aktuelle Datum setzen
date_default_timezone_set("Europe/Berlin");
$datum = date("d.m.Y H:i");
// HTML-Tags entfernen
$_POST = array_map('strip_tags', $_POST);
// Inhalt der E-Mail setzen
$inhaltEmail = "Gesendet am: $datum Uhr
Vorname: " . $_POST["vorname"] . "
Nachname: " . $_POST["nachname"] . "
E-Mail: " . $_POST["email1"] . "
Phone: " . $_POST["phone"] . "
Nachricht: " . $_POST["textarea"] . "
";
// Instanz und Zeichenkodierung setzen
$mail = new PHPMailer();
$mail->CharSet = "UTF-8";
// Servereinstellungen
$mail->isSMTP(); // Senden mit SMTP
$mail->Host = "send.one.com"; // Postausgangsserver (SMTP)
$mail->SMTPAuth = true; // SMTP-Authentifizierung aktivieren
$mail->Username = "webmaster@kreuztalertanzclub-casino.de"; // SMTP Benutzername
$mail->Password = "xxxxxx"; // SMTP Passwort
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // Implizite TLS-Verschlüsselung aktivieren
$mail->Port = 465; // Port - Postausgangsserver (SMTP)
// Absender und Empfänger
$mail->setFrom("webmaster@kreuztalertanzclub-casino.de", "Info KTC"); // Absender
$mail->addAddress("webmaster@kreuztalertanzclub-casino.de", "Info KTC"); // Empfänger
// Der Absender bekommt eine Kopie
$mail->addCC($email1); // Falls BCC gewünscht: $mail->addBCC($email);
// "Antworten an" den Absender der Nachricht setzen
$mail->addReplyTo($_POST["email1"], $_POST["name"]);
// Betreff und Body setzen
$mail->Subject = $betreffEmail;
$mail->Body = $inhaltEmail;
// E-Mail versenden
if ($mail->Send()) {
header("Location: " . $dankeSeite);
}
else {
header("Location: " . $fehlerSeite);
}
}
?>
Code: Alles auswählen
// Der Absender bekommt eine Kopie
$mail->addCC($email1); // Falls BCC gewünscht: $mail->addBCC($email);
// "Antworten an" den Absender der Nachricht setzen
$mail->addReplyTo($_POST["email1"], $_POST["name"]);
Code: Alles auswählen
// Der Absender bekommt eine Kopie
$mail->addCC($_POST["email1"]); // Falls BCC gewünscht: $mail->addBCC($_POST["email1"]);
// "Antworten an" den Absender der Nachricht setzen
$mail->addReplyTo($_POST["email1"], $_POST["nachname"]);
Code: Alles auswählen
_POST["name"]);
Habe ich, Fehler:Tommy Herrmann hat geschrieben: Sa 1. Mär 2025, 17:19 so muss es heißen!!!
$_POST["email1"]
Steht doch dort.
Trage es doch wenigsten einmal so ein und teste es:
Code: Alles auswählen
// Der Absender bekommt eine Kopie $mail->addCC($_POST["email1"]); // Falls BCC gewünscht: $mail->addBCC($_POST["email1"]); // "Antworten an" den Absender der Nachricht setzen $mail->addReplyTo($_POST["email1"], $_POST["name"]);
Code: Alles auswählen
<?php
/*
* mailscript.php versenden über SMTP
* Version vom 21.07.2021
*
* Erfolgreich getestet mit: PHPMailer Version: 6.5.0
*/
// PHPMailer einbinden
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require "PHPMailer-master/src/Exception.php";
require "PHPMailer-master/src/PHPMailer.php";
require "PHPMailer-master/src/SMTP.php";
// Danke und Fehlerseite
$dankeSeite = "danke.html"; // Danke - Seite, die Mail wurde erfolgreich versandt.
$fehlerSeite = "fehler.html"; // Fehler - Seite, falls die Mail nicht versandt werden konnte.
// Betreff
// Jede E-Mail benötigt einen Betreff, da jedoch im Formular kein
// entsprechendes Feld gesetzt wurde, wird ein fester Betreff hinzugefügt.
$betreffEmail = "Kontaktformular Homepage KTC";
// Wurden POST-Daten gesendet?
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Zeitzone und das aktuelle Datum setzen
date_default_timezone_set("Europe/Berlin");
$datum = date("d.m.Y H:i");
// HTML-Tags entfernen
$_POST = array_map('strip_tags', $_POST);
// Inhalt der E-Mail setzen
$inhaltEmail = "Gesendet am: $datum Uhr
Vorname: " . $_POST["vorname"] . "
Nachname: " . $_POST["nachname"] . "
E-Mail: " . $_POST["email1"] . "
Phone: " . $_POST["phone"] . "
Nachricht: " . $_POST["textarea"] . "
";
// Instanz und Zeichenkodierung setzen
$mail = new PHPMailer();
$mail->CharSet = "UTF-8";
// Servereinstellungen
$mail->isSMTP(); // Senden mit SMTP
$mail->Host = "send.one.com"; // Postausgangsserver (SMTP)
$mail->SMTPAuth = true; // SMTP-Authentifizierung aktivieren
$mail->Username = "webmaster@kreuztalertanzclub-casino.de"; // SMTP Benutzername
$mail->Password = "yyyyyyy"; // SMTP Passwort
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // Implizite TLS-Verschlüsselung aktivieren
$mail->Port = 465; // Port - Postausgangsserver (SMTP)
// Absender und Empfänger
$mail->setFrom("webmaster@kreuztalertanzclub-casino.de", "Info KTC"); // Absender
$mail->addAddress("webmaster@kreuztalertanzclub-casino.de", "Info KTC"); // Empfänger
// Der Absender bekommt eine Kopie
// $mail->addCC($email1); // Falls BCC gewünscht: $mail->addBCC($email);
// "Antworten an" den Absender der Nachricht setzen
// $mail->addReplyTo($_POST["email1"], $_POST["name"]);
// Der Absender bekommt eine Kopie
$mail->addCC($_POST["email1"]); // Falls BCC gewünscht: $mail->addBCC($_POST["email1"]);
// "Antworten an" den Absender der Nachricht setzen
$mail->addReplyTo($_POST["email1"], $_POST["name"]);
// Betreff und Body setzen
$mail->Subject = $betreffEmail;
$mail->Body = $inhaltEmail;
// E-Mail versenden
if ($mail->Send()) {
header("Location: " . $dankeSeite);
}
else {
header("Location: " . $fehlerSeite);
}
}
?>