Die sendform.php versendet alle möglichen Arten von HTML-Formularen als Mail.
Direkt nach dem Bodytag wird die sendform.php geladen:
<?PHP require_once($webutlercouple->config['server_path'].'/includes/forms/sendform.php'); ?>
Es wird im Action-Attribut an sich selbst geschickt.
Name:* | <input type="text" name="Name" required="required" /> |
eMail:* | <input type="email" name="eMail" required="required" /> |
Kommentar:* | <textarea name="Kommentar" required="required"></textarea> |
<input type="hidden" name="sendto" value="1" /> | |
<input type="submit" name="sendform" value="Senden" /> |
Das Textfeld eMail muss vorhanden sein, es wird als Absenderfeld für den Versand benutzt und der Submit-Button muss den Namen "sendform" haben, damit die Mail versendet wird. Mit dem versteckten Feld "sendto" können verschiedene Formulare an verschiedene Empfänger gesendet werden.
Sowohl Name als auch Value eines Eingabefeldes werden versendet, der Name sollte deshalb entsprechend gewählt werden. Die HTML5 Atribute "required" und "placeholder" werden im Editor unterstützt.
Mehrfach-Auswahlmöglichkeiten können als Array übergeben werden. Beispiel:
<input type="checkbox" name="Bestellung[]" value="Katalog" />
<input type="checkbox" name="Bestellung[]" value="Prospekt" />
Sollte es beim Versand zu einem Fehler kommen, können die gesendeten Daten einfach mit echo $_POST['_FELDNAME_']; im Value wieder ausgegeben werden. Beispiel:
<input type="text" name="Interessen" value="
<?PHP echo isset($_POST['Interessen']) ? $_POST['Interessen'] : ''; ?>
" />
Zur Spamabwehr kann an einer beliebigen Stelle im Formular ein Honeypot gesetzt werden:
<?PHP
$honeypot_formid = 'BEZEICHNUNG';
$honeypot_time2send = 5;
require_once($webutlercouple->config['server_path'].'/includes/forms/honeypot/index.php');
?>
Der Honeypot erzeugt mehrere versteckte Felder, die nach absenden des Formulars auf Manipulation geprüft werden. Die Variable honeypot_formid muss in jedem Formular einen anderen Namen / Wert erhalten. Durch diese Variable wird in jedem Formular ein anderer Honeypot gesetzt, der auch nur in diesem Formular gültig ist. Die Variable honeypot_time2send ist optional. Mit ihr kann der Wert von $webutler_config['forms_time2send'] überschrieben werden.
$webutler_config['forms_time2send'] gibt einen Wert in Sekunden an, die vom Aufruf der Seite bis zum Abschicken des Formulars mindestens vergangen sein müssen. Wenn das Formular schneller abgeschickt wird, wird davon ausgegangen, dass der Besucher ein Spambot ist und die Mail wird nicht versendet.
In der config.php kann das Format zu übertragender Dateianhänge mit der Variablen $forms_mailattachs eingeschränkt werden. Der Key ist gleich dem Namen des Uploadfeldes, der Wert ist der zulässige MIME-Type der Datei. Beispiel:
Im Formular: <input type="file" name="PDF" />
In der config.php: $forms_mailattachs['PDF'] = 'application/pdf';
Für das Uploadfeld mit dem Namen 'PDF' sind nur Dateien mit dem MIME-Type 'application/pdf' erlaubt.
Im Verzeichnis /tpls befinden sich 2 Templates: usermail.tpl für den Versand einer Bestätigungsmail an den Besucher und adminmail.tpl für die Mail an Homepagebetreiber.
Für jede Empfänger-ID aus dem "sendto"-Feld können separate Templates mit dem Dateinamen usermail_ID.tpl bzw. adminmail_ID.tpl angelegt werden, z.B. usermail_2.tpl für ID 2. Existieren keine ID Templates, wird das Standard-Template verwendet.
In der config.php können verschiedene Bilder für den Mailversand hinterlegt werden. Die Bilddateien müssen im Verzeichnis /imgs vorhanden sein. Der Key der Variablen $forms_mailimages wird als Key der Templatevariablen $mailcontent verwendet. Die Keys sind frei wählbar.
Wer Mails über SMTP verschicken will, kann die Zugangsdaten dafür in der Datei "/settings/smtp.php" eintragen.