PHP Mailer mit Auswahlliste

Allgemeine Fragen
Benutzeravatar
futurelike
Mitglied (Level 2)
Mitglied (Level 2)
Beiträge: 19
Registriert: So 20. Dez 2020, 17:12
Wohnort: Darmstadt

PHP Mailer mit Auswahlliste

Ungelesener Beitrag von futurelike »

Hallo Gemeinde,

bzgl. meines Webprojektes - https://dao-thaiwellness.de - habe ich auf Grund massivem Ärger (Berüchtigt aktuell "Susanne Schober" in Bezug auf Google Fonts Einbindung) mit Abmahnfallen das Projekt weitest gehend von Google unabhängig gestaltet. Somit habe ich Bilder, Scripte und Fonts, soweit möglich, lokal eingebunden und Impressum und Datenschutz Angaben juristisch prüfen lassen.

Einzig die Seite https://dao-thaiwellness.de/kontakt.html enthält ein Kontaktformular welches ich nun gern ebenfalls mittels eines PHP Mailers vom Drittanbieter Mobirise formoid unabhängig machen möchte. Dazu habe ich mir das Tutorial von Tommi https://www.mobirise-tutorials.com/Busi ... ailer.html vorgenommen.

Im derzeit vorhandenen Kontaktformular gibt es Auswahllisten "Massage", "Datum" und "Uhrzeit". Wie notiere ich die in das Script, unter dem Absatz "//Inhalt der Mail setzen" bzw. welche Einträge muss dafür im Script vornehmen damit diese Auswahllisten für den Besucher weiterhin funktionieren?

Ganz herzlichen Dank vorab für Tipps und Lösungsvorschläge dazu.
Fehlermeldung!
Kein oder falscher Kaffee.
Benutzer angehalten!

www.dao-thaiwellness.de
www.buehnenlicht-online.de

Schnelle Rechner vorhanden, Internet Zugang auch...
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: PHP Mailer mit Auswahlliste

Ungelesener Beitrag von Tommy Herrmann »

Moin,

... ich muss jetzt gleich weg (gucke dann aber gerne morgen wieder).

Ich habe doch da ein Beispiel. Du musst die Felder aus meinem Beispiel einfach mit den Namen aus dem Formular von Dir ersetzen - bitte Groß- und Kleinschreibung beachten!

Code: Alles auswählen

// Inhalt der E-Mail setzen
$inhaltEmail = "Gesendet am: $datum Uhr
Name: " . $_POST["name"] . "
E-Mail: " . $_POST["email"] . "
Ort: " . $_POST["ort"] . "
Land: " . $_POST["land"] . "
Datum: " . $_POST["datum"] . "
Nachricht: " . $_POST["nachricht"] . "
";
... dann wahrscheinlich bei Dir so oder so ähnlich:

Code: Alles auswählen

// Inhalt der E-Mail setzen
$inhaltEmail = "Gesendet am: $datum Uhr
Massage: " . $_POST["message"] . "
Datum: " . $_POST["date"] . "
Uhrzeit: " . $_POST["time"] . "
";
Die Bezeichnung (Beschriftung) und der [feldname] in den eckigen Klammern müssen exakt wie im Formular geschrieben werden.

Dein Formular hat doch aber viel mehr Felder, Du musst dann schon alle Felder eintragen :confused:

Du musst ja dann, anstelle Deiner E-Mail, unten im Mobirise-Formular den Skript-Namen "mailscript.php" eintragen. Es kann also immer nur das eine oder das andere verwendet werden. Du kannst nicht nur einige Felder über das Mail-Skript senden, sondern dann nur alle.

mobirise-formular.jpg


Einfach mal testen - kann doch nichts passieren.

Siehe auch meine Seite hier, da findest Du auch noch dieses Video von unserem Volker dazu:

https://www.mobirise-tutorials.com/Kontakt-Formular.php

Benutzeravatar
futurelike
Mitglied (Level 2)
Mitglied (Level 2)
Beiträge: 19
Registriert: So 20. Dez 2020, 17:12
Wohnort: Darmstadt

Re: PHP Mailer mit Auswahlliste

Ungelesener Beitrag von futurelike »

Hallo Tommy,

dank für das sehr schnelle Feedback. :tu:

Wenn ich zum Beispiel für das Feld Massage wie folgt im Script notiere: - Massage: " . $_POST["massage"] . " bleibt dann die Auswahlliste erhalten, bzw. kann man dann noch seine Wahl in der Liste machen und senden? Das war es wo ich mir nicht sicher war.

Unsere Kunden buchen nämlich sehr oft ihre Massage über dieses Formular welches bisher gut funktioniert hat da möchte ich natürlich sicher stellen das dies weiterhin für unsere Kunden reibungslos und einfach so weiter läuft.
Fehlermeldung!
Kein oder falscher Kaffee.
Benutzer angehalten!

www.dao-thaiwellness.de
www.buehnenlicht-online.de

Schnelle Rechner vorhanden, Internet Zugang auch...
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: PHP Mailer mit Auswahlliste

Ungelesener Beitrag von Tommy Herrmann »

Es bleibt alles so wie erstellt erhalten - auch eine Auswahlliste.

Entscheidend ist nur die richtige Bezeichnung und der richtige Feldname - alles exakt wie im Formular geschrieben! Durch den HTML-POST Befehl werden die Inhalte dieser Felder dann an das Skript gesendet und dort verarbeitet.

Vorher wurden diese Inhalte an den Mailserver "Formoid" von Mobirise gesendet und dort mit so einem Skript verarbeitet.

Kann schon sein, wenn Du etwas falsch machst, dass das nicht funktioniert. Prüfen und testen kannst Du das nur "online" am Server, denn lokal hast Du wahrscheinlich kein PHP (Skript-Sprache) am Computer.

Falls Fragen aufkommen, dann mache am besten gleich eine Kopie von dem Teil des Skriptes, den Du mit Deinen Einträgen geändert hast, damit man das sehen kann.

Du kannst aber jederzeit da unten wieder Deine E-Mail eintragen, dann läuft das wie vorher wieder über "Formoid".

Am besten testet man so etwas, wenn man sich unsicher ist, an einem ganz neuen und ganz einfachem Formular in einem anderen Projekt, das man dann in ein anderes Verzeichnis am Server publiziert. Dann kann man testen und üben solange man will, ohne die Gefahr sich etwas zu verstellen.
Benutzeravatar
futurelike
Mitglied (Level 2)
Mitglied (Level 2)
Beiträge: 19
Registriert: So 20. Dez 2020, 17:12
Wohnort: Darmstadt

Re: PHP Mailer mit Auswahlliste

Ungelesener Beitrag von futurelike »

Hallo Tommy,

ich habe das Ganze nun versucht umzusetzen:

- Die "kontakt.html" zu "kontakt.php" geändert.
- Mit dem Formbuilder von Mobirise das Formular erstellt.
- mailscript.php alle Änderungen vorgenommen die notwendig waren:
Felder des Kontaktformulars angepasst, smtp Postausgang Server eingetragen, ect.

Das Projekt auf diese http://dao-lukas.de/kontakt.php zum Test hochgeladen. Aber irgend etwas scheint noch nicht schlüssig zu sein. Nach dem Klick auf senden kommt eine blanke weiße Seite. Die Mail wurde nicht versendet (kein Eingang im Postfach). danke.html wird nicht angezeigt.

Nun beginnt die Fehler Suche... Hier die Kopie des "mailscript.php"



// Betreff
// Jede E-Mail benötigt einen Betreff, da jedoch im Formular kein
// entsprechendes Feld gesetzt wurde, wird ein fester Betreff hinzugefügt.
$betreffEmail = "Neue Email von der Website";

// Datum in das deutsche Format setzen
list($jahr, $monat, $tag) = explode("-", $_POST["datum"]);
$datumausgabe = "$tag.$monat.$jahr";

// 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
Dein Name: " . $_POST["name"] . "
Deine Email: " . $_POST["email"] . "
Deine Telefon Nr.: " . $_POST["phone"] . "
Deine Nachricht: " . $_POST["message"] . "
select: " . $_POST["---"] . "
date: " . $_POST["date"] . "
time: " . $_POST["--.--"] . "
";

// Instanz und Zeichenkodierung setzen
$mail = new PHPMailer();
$mail->CharSet = "UTF-8";

// Servereinstellungen
$mail->isSMTP(); // Senden mit SMTP
$mail->Host = "xxxxxx.mailout.serverxxx.de"; // Postausgangsserver (SMTP)
$mail->SMTPAuth = true; // SMTP-Authentifizierung aktivieren
$mail->Username = "xxxxxxx"; // SMTP Benutzername
$mail->Password = "xxxxxxxx"; // SMTP Passwort
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // Implizite TLS-Verschlüsselung aktivieren
$mail->Port = 143; // Port - Postausgangsserver (SMTP)

// Absender und Empfänger
$mail->setFrom("admin@dao-thaiwellness.de", "Administrator"); // Absender
$mail->addAddress("mail@dao-thaiwellness.de", "Dao Lukas"); // 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);
}
}
}
?>
Fehlermeldung!
Kein oder falscher Kaffee.
Benutzer angehalten!

www.dao-thaiwellness.de
www.buehnenlicht-online.de

Schnelle Rechner vorhanden, Internet Zugang auch...
Benutzeravatar
futurelike
Mitglied (Level 2)
Mitglied (Level 2)
Beiträge: 19
Registriert: So 20. Dez 2020, 17:12
Wohnort: Darmstadt

Re: PHP Mailer mit Auswahlliste

Ungelesener Beitrag von futurelike »

Hatte vergessen vor dem /form Tag einzutragen:

<span id="field"></span>

Nun funktionert es soweit das wenigstens die Fehlerseite angezeigt wird. Versendet wird die Mail trotzdem nicht...
Fehlermeldung!
Kein oder falscher Kaffee.
Benutzer angehalten!

www.dao-thaiwellness.de
www.buehnenlicht-online.de

Schnelle Rechner vorhanden, Internet Zugang auch...
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: PHP Mailer mit Auswahlliste

Ungelesener Beitrag von Tommy Herrmann »

Versuche es mal so:

Code: Alles auswählen

// Inhalt der E-Mail setzen
$inhaltEmail = "Gesendet am: $datum Uhr
Name: " . $_POST["name"] . "
Email: " . $_POST["email"] . "
Telefon: " . $_POST["phone"] . "
Nachricht: " . $_POST["message"] . "
Auswahl: " . $_POST["select"] . "
Datum: " . $_POST["date"] . "
Zeit: " . $_POST["time"] . "
";

.... ob das hier alles richtig ist, kann ich nicht sagen. Der Port 143 kommt mir ganz komsich vor. Eigentlich ist das 465 oder auch 587 bei SMTP

Code: Alles auswählen

// Servereinstellungen
$mail->isSMTP(); // Senden mit SMTP
$mail->Host = "xxxxxx.mailout.serverxxx.de"; // Postausgangsserver (SMTP)
$mail->SMTPAuth = true; // SMTP-Authentifizierung aktivieren
$mail->Username = "xxxxxxx"; // SMTP Benutzername
$mail->Password = "xxxxxxxx"; // SMTP Passwort
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // Implizite TLS-Verschlüsselung aktivieren
$mail->Port = 143; // Port - Postausgangsserver (SMTP)

// Absender und Empfänger
$mail->setFrom("admin@dao-thaiwellness.de", "Administrator"); // Absender
$mail->addAddress("mail@dao-thaiwellness.de", "Dao Lukas"); // Empfänger


Achte auch zwingend darauf, dass das Skript vom Werner, das Du ja anpasst, seine Kodierung von UTF8 beibehält. Also auf keinen Fall mit einem Text-Editor ändern, sondern mit dem "Windows-Editor" oder auch "Notepad++"


Kodierung.jpg
Benutzeravatar
futurelike
Mitglied (Level 2)
Mitglied (Level 2)
Beiträge: 19
Registriert: So 20. Dez 2020, 17:12
Wohnort: Darmstadt

Re: PHP Mailer mit Auswahlliste

Ungelesener Beitrag von futurelike »

Hallo Tommy,

Du bist echt DER Webseiten Flüsterer!! Deine Tipps bzgl. der Änderungen am mailscript.php haben sofort funktioniert. :freude:

Ganz herzlichen Dank für Deinen wie immer unermüdlichen Einsatz!! :tu:

Nun kann ich das ganze offiziell hochladen und ich bin gefeit gegen jegliche zukünftige Abmahnfalle (zu mindestens im Moment...). Alle Resourcen sind lokal auf dem Webserver abgelegt (Scripte, Bilder, Fonts, CSS, ect,) und mit dem neuen Kontakt Formular werden auch hier die Daten direkt bei meinem ISP verarbeitet ohne über ausländische Server zu laufen. So sollte jetzt alles zu 100% DSGVO konform funktionieren.
Fehlermeldung!
Kein oder falscher Kaffee.
Benutzer angehalten!

www.dao-thaiwellness.de
www.buehnenlicht-online.de

Schnelle Rechner vorhanden, Internet Zugang auch...
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: PHP Mailer mit Auswahlliste

Ungelesener Beitrag von Tommy Herrmann »

Na ja - bis einem einfällt, dass er Schmerzensgeld anmahnt, für den zu häufig gesenkten Finger um die Cookies zu bestätigen. :angst:

:prost:
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: PHP Mailer mit Auswahlliste

Ungelesener Beitrag von Tommy Herrmann »

... und noch ein Tipp.

Ein richtig tolles Formular, das überhaupt keine Wünsche offen lässt, ist die Anwendung von "Arclab" (kostet aber was). Eine .exe Datei, die am PC das Formular als eine einzige Datei fertig erstellt.

Man kann sich das aber kostenlos mal angucken.

https://www.mobirise-tutorials.com/Form ... rclab.html

Es bedarf einer gewissen Einarbeitungszeit, ist dann aber super einfach zu bedienen und noch einfacher in Mobirise einzubauen.
Benutzeravatar
futurelike
Mitglied (Level 2)
Mitglied (Level 2)
Beiträge: 19
Registriert: So 20. Dez 2020, 17:12
Wohnort: Darmstadt

Re: PHP Mailer mit Auswahlliste

Ungelesener Beitrag von futurelike »

@Tommy: Vielen Dank für den Tipp bzgl. Arclab. Den hatte ich mir auch schon mal angesehen. Wie funktioniert das dann mit dem Layout der Website zusammen? Werden hier die Farben, Hintergründe sowie der Font übernommen oder muss man das separat in Arclab konfigurieren?
Fehlermeldung!
Kein oder falscher Kaffee.
Benutzer angehalten!

www.dao-thaiwellness.de
www.buehnenlicht-online.de

Schnelle Rechner vorhanden, Internet Zugang auch...
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: PHP Mailer mit Auswahlliste

Ungelesener Beitrag von Tommy Herrmann »

... bin gerade nur am Handy und müsste es später bei Bedarf erklären.

Das kann man alles steuern. Voreingestellt ist zunächst keine CSS, sodass der Stil vom Mobirise Projekt angewendet wird. Die Software bietet aber dennoch die Möglichkeit, jede beliebige eigene CSS hinzuzufügen, bis hin zu händisch eingefügten CSS.
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 29 Gäste