e-Mail-script
<br?>
// PHPMailer einbinden
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require __DIR__ . "/PHPMailer-master/src/Exception.php";
require __DIR__ . "/PHPMailer-master/src/PHPMailer.php";
// Empfänger - E-Mail-Adresse
// Verwenden Sie eine beim Provider registrierte E-Mail-Adresse!
$empfaengerName = "Horst Brauner"; // Name des Empfängers
$empfaengerEmail = jubal@jubal.de; // E-Mail des Empfängers
// Formular abgesendet
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Benutzereingaben überprüfen
$fehler = ["name"=>"", "mail"=>"", "nachricht"=>"", ]; // Benutzer-Eingabefehler eventuell anpassen
$fehler["name"] = strlen($_POST["name"]) < 1 ? "Dieses Feld bitte ausfüllen!" : "";
$fehler["mail"] = strlen($_POST["mail"]) < 1 ? "Dieses Feld bitte ausfüllen!" : "";
$fehler["nachricht"] = strlen($_POST["nachricht"]) < 10 ? "Dieses Feld bitte ausfüllen!" : "";
// Benutzer-Eingabefehler vorhanden
if (strlen(implode($fehler)) > 0) {
echo json_encode($fehler);
exit;
}
else {
// Zeitzone und das aktuelle Datum setzen
date_default_timezone_set("Europe/Berlin");
$datum = date("d.m.Y H:i");
// Inhalt der E-Mail setzen
$text = "Gesendet am: $datum Uhr
Name: " . $_POST["name"] . "
Betreff: " . $_POST["betreff"] . "
E-Mail: " . $_POST["mail"] . "
Nachricht: " . $_POST["nachricht"] . "
";
// Instanz und Zeichenkodierung setzen
$mail = new PHPMailer();
$mail->CharSet = "UTF-8";
// Absender und Empfänger setzen
$mail->setFrom($_POST["mail"], $_POST["name"]);
$mail->addAddress($empfaengerEmail, $empfaengerName);
// E-Mail versenden
if ($mail->Send()) {
echo "OK";
}
else {
echo "KO";
}
}
exit;
}
?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Kontakt</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
body {
font-family: Verdana, Arial, Sans-Serif;
font-size: 1em;
}
/* Formular */
form {
width: 300px;
color: #000000;
background-color: #E2EFF5;
padding: 15px;
}
/* Überschrift */
h3 {
font-size: 1.25em;
font-weight: Normal;
letter-spacing: 1px;
margin-top: 0;
}
/* Pflichtangaben markieren */
var, noscript {
color: Red;
}
/* Hilfetext */
span.hilfetext {
font-family: Arial, Tahoma, Sans-Serif;
font-size: 0.80rem;
font-style: Oblique;
color: #000000;
}
</style>
<script>
const xvr = new XMLHttpRequest();
window.addEventListener("load", function() {
document.getElementById("senden").addEventListener("click", senden);
});
function senden() {
if (document.getElementById("kontaktform").reportValidity()) {
var daten = new FormData(document.getElementById("kontaktform"));
xvr.open("POST", document.URL, true);
xvr.send(daten);
xvr.onreadystatechange = function() {
if (xvr.readyState == 4 &&
xvr.status == 200) {
if (xvr.responseText == "OK") {
// Hier eventuell die Meldung anpassen!
document.getElementById("kontaktform").innerHTML =
`<p>Vielen Dank, die Nachricht wurde gesendet.</p>`;
}
else if (xvr.responseText == "KO") {
// Hier eventuell die Meldung anpassen!
document.getElementById("kontaktform").innerHTML =
`<p>Die Nachricht konnte leider nicht gesendet werden!</p>`;
}
else {
var objekt = JSON.parse(xvr.responseText);
document.getElementById("name").innerHTML = objekt.name;
document.getElementById("betreff").innerHTML = objekt.betreff;
document.getElementById("mail").innerHTML = objekt.mail;
document.getElementById("nachricht").innerHTML = objekt.nachricht;
}
}
}
}
}
</script>
</head>
<body>
<form id="kontaktform">
<h3>Kontakt</h3>
<noscript>Um eine Nachricht senden zu können, muss JavaScript im Browser aktiviert sein!</noscript>
<p>
<label>Name:
<var id="name">✲</var><br>
<input type="text" name="name" size="25" required="required">
<br><span class="hilfetext">Geben Sie hier Ihre Vor- und Nachnamen ein.</span>
</label>
</p>
<p>
<label>Betreff:
<var id="betreff">✲</var><br>
<input type="text" name="betreff" size="30" required="required">
<br><span class="hilfetext">Aus welchem Grund möchten Sie mit uns in Kontakt treten?</span>
</label>
</p>
<p>
<label>E-Mail:
<var id="mail">✲</var><br>
<input type="email" name="mail" size="25" required="required">
<br><span class="hilfetext">Geben Sie hier Ihre E-Mail-Adresse ein.</span>
</label>
</p>
<p>
<label>Nachricht: <var id="nachricht">✲</var><br>
<textarea name="nachricht" rows="8" cols="30" required="required"></textarea>
<br><span class="hilfetext">Hier haben Sie Platz für die Nachricht.</span>
</label>
</p>
<p>
<input type="reset" value="Abbrechen"> 
<input type="button" id="senden" value="Absenden">
</p>
</form>
</body>
</html>