Du schreibst
Mobirise-Formular
???
Mobirise verwendet
keinen PHPMailer sondern sendet den Inhalt eines Formulars an den Drittanbieter "Formoid" als Mailserver. Erst dort wird dieser Inhalt dann als E-Mail verarbeitet. Bei einem reinen
Mobirise-Formular
kannst Du also gar nichts ändern. Mobirise verwendet grundsätzlich keinerlei PHP.
... gucke mal, hier ein Skript von
Werner-Zenk.de (leider ist Werner nur noch selten hier).
Das benutze ich z.B. auch für Formulare von Mobirise, die ich dann mit der Methode "POST" an dieses Script "
mailscript.php" sende, was seinerseits den
PHPMailer zur Verarbeitung und dem Versandt nutz. Wie, steht im Link zu meiner Beispielseite und dem Tutorial, das Du hier findest:
https://www.mobirise-tutorials.com/Kontakt-Formular.php
Da wird auch das
Datum in das deutsche Format gesetzt:
// Zeitzone und das aktuelle Datum setzen
date_default_timezone_set("Europe/Berlin");
$datum = date("d.m.Y H:i");
Hier das gesamte Skript, indem man lediglich die Feldnamen von seinem
Mobirise-Formular
einträgt und natürlich den PHPMailer am Server installiert:
Code: Alles auswählen
<?php
/*
* mailscript.php versenden über SMTP mit Spamschutz gegen Bots
* Version vom 16.10.2021
* von Werner-Zenk.de
* 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 = "Spamschutz verdecktes Feld PHPMailer v6.5.0 mit SMTP Testseite Software-Ende";
// Wurden POST-Daten gesendet?
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (isset($_POST["field"])) {
// 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
Name: " . $_POST["name"] . "
E-Mail: " . $_POST["email"] . "
Nachricht: " . $_POST["message"] . "
";
// Instanz und Zeichenkodierung setzen
$mail = new PHPMailer();
$mail->CharSet = "UTF-8";
// Servereinstellungen
$mail->isSMTP(); // Senden mit SMTP
$mail->Host = "smtp.ionos.de"; // Postausgangsserver (SMTP)
$mail->SMTPAuth = true; // SMTP-Authentifizierung aktivieren
$mail->Username = "mail@meineDomain.de"; // SMTP Benutzername
$mail->Password = "************"; // SMTP Passwort
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // Implizite TLS-Verschlüsselung aktivieren Port 465
$mail->Port = 465; // Port - Postausgangsserver (SMTP) 465
// $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // Implizite STARTTLS-Verschlüsselung aktivieren Port 587 alternativ
// $mail->Port = 587; // Port - Postausgangsserver (SMTP) 587 alternativ
// Absender und Empfänger
$mail->setFrom("mail@meineDomain.de", "Kontakt-Formular SMTP"); // Absender
$mail->addAddress("mail@meineDomain.de", "Tommy"); // Empfänger
// Betreff und Body setzen
$mail->Subject = $betreffEmail;
$mail->Body = $inhaltEmail;
// E-Mail versenden
if ($mail->Send()) {
header("Location: " . $dankeSeite);
}
else {
header("Location: " . $fehlerSeite);
}
}
}
?>