Kontaktformular mit Publii

Tailwind CSS Kontaktformular per Ajax mit PHPMailer absenden

Wie in dem Beitrag bereits beschrieben, kann man mit Publii keine Formulare direkt erzeugen bzw. weiterverarbeiten. Wenn der Webserver PHP unterstützt (was sehr oft der Fall ist), können E-Mails aber sehr einfach mit PHPMailer versendet werden.

Wir verwenden PHPMailer anstelle der PHP internen mail() Funktion, weil es einige Vorteile bringt. In dem Beispiel versenden wir die E-Mails per SMTP Server. Für z.B. Google Mail sind Anpassungen vorzunehmen. Beispiele dazu gibt es im PHPMailer Projekt

Formular:

Für das Design unsere Publii Vorlagen verwenden wir in der Regel Tailwind CSS. Für komplexere Formulare bzw. Seiten erstellen wir eine eigene Seitenvorlage und wählen diese in Publii dann aus. Kontaktformulare die z.B. auf allen Seiten im Footer angezeigt werden soll, landen im "partials" Ordner der Vorlage.

Das Formular wird per Ajax / fetch Aufruf die eingegeben Daten an ein PHP Script (z.B. send.php) übergeben. Dort werden die Angaben noch einmal geprüft bzw. die E-Mail versendet.

PHP Script

Wie bereits geschrieben, verwenden wir PHPMailer für das Versenden der E-Mails. Dazu benötigen wir aus dem PHPMailer Projekt im Grunde nur diese zwei Dateien:

require 'PHPMailer.php';
require 'SMTP.php';

Das PHP Script prüft die Eingaben und versendet dann die Daten mit der PHPMailer Klasse. Gemeinsam mit dem Formular brauchen wir also nur 4 Dateien.

Beispielcode

Die Beispieldateien (Formular und PHP Script) stehen auf GitHub zur Verfügung:

https://github.com/whollaus/contact_form/tree/main

Neueste Blog Einträge:

Numerologie Zahlen App

Unsere neue Numerologie-Plattform bietet tiefere Einblicke in das persönliche Potenzial - Über 75 Berechnungen für numerologische Analysen Eine innovative Online-Plattform für Numerologie ist ab sofort verfügbar…
Web

Laravel auf all-inkl.com installieren

Eine kleine Anleitung zur Installation von Laravel auf dem Webhosting Paket von all-inkl.com.

Laravel

Cronjobs unter MacOS mit BetterTouchTool

Die ultimative Alternative zu Cronjobs auf MacOS: BetterTouchTool zum Automatisieren von Aufgaben!

Backup MacOS

Bereit für Ihr Projekt?