E-Mail-Versand: cmail
Auf dieser Seite
Es gibt zwei Module für den Aufruf der Datei mail.php im Wurzelverzeichnis:
- cmail
-
Erzeugt einen formularbasierten Aufruf, der via
$<em>POST
-Variablen übertragen wird.
-
Erzeugt einen Link-basierten Aufruf mit einer BASE64-codierten
$<em>GET
-Variable, die als Parameter an der URL hängt.
Aufruf
[cmail subject linktext linktitel lng] [mail subject linktext linktitel lng]
Parameter
- subject
-
Der Betreff der E-Mail
- linktext
-
Der (optional) angezeigte Text
- linktitel
-
Die (optionale) Link-Information
- lng
-
Eine (optionale) Sprachwahl für die Antwortseite
Modul cmail
Der Aufruf erfolgt über ein (verstecktes) Formular als „post“.
cmail subject "linktext=Anfrage per E-Mail" "linktitel=Per E-Mail Programm" lng <?php $btext = (strlen ('§§§linktext§§§') ? '§§§linktext§§§':'E-Mail senden'); $subject = (strlen('§§§subject§§§') ? '§§§subject§§§' : 'Anfrage von ' . $_SERVER["HTTP_HOST"]); $help = (strlen('§§§linktitel§§§') ? '§§§linktitel§§§' : 'E-Mail per E-Mail Programm'); $lng = (strlen('§§§lng§§§') ? '-§§§lng§§§' : ''); $cmail = '<form class="cmail" action="/mail'.$lng.'" method="post">'; $cmail .= '<button type="submit" title="'.$help.'" name="q" value="' . $subject . '">'.$btext.'</button>'; $cmail .= '<input type="hidden" name="r" value="'. $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] .'" /></form>'; echo $cmail; ?>
Modul mail
Der Aufruf erfolgt über einen Link als „get“.
mail betreff "linktext=Anfrage per E-Mail" "linktitel=Per E-Mail Programm" lng <?php $greeting = (strlen ('§§§linktext§§§') ? '§§§linktext§§§':'E-Mail senden'); $subject = (strlen('§§§betreff§§§') ? '§§§betreff§§§' : 'Anfrage von ' . $_SERVER["HTTP_HOST"]); $linktitel = (strlen('§§§linktitel§§§') ? '§§§linktitel§§§' : 'E-Mail per E-Mail Programm'); $lng = (strlen('§§§lng§§§') ? '-§§§lng§§§' : ''); $subject = base64_encode($subject . '%%' . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); $cmail = '<a class="mail" href="/mail'.$lng.'?q='.$subject.'" title="'.$linktitel.'">'.$greeting.'</a>'; echo $cmail; ?>
Verarbeitung
cmail
-
generiert einen „Formular-Button“ und verschickt die Anfrage per „POST“
- Für das Formular
cmail
sollten geeignete Klassen (Form, button) definiert sein. - Ein Formular schließt grundsätzlich niederrangigere Tags (h…,p,…), was den Einsatz dieser Variante im Fließtext einschränkt.
- Fließend lässt sich mit einer „Simulationsklasse“ für Absätze
<div class=\´´p\´´> … [cmail…] … </div>
erzeugen, womit — abhängig davon, wie detailliert es beschrieben ist – dennoch die Standardformatierung für Absätze verloren gehen kann.
mail
-
generiert einen „einfachen“ Link der die Anfrage per „GET“ verschickt
- „GET“ ist angreifbarer, da der erzeugte Link manipulierbar ist.
- Als „normaler Link“ ist diese Einfügung im Fließtext formatierbar.
- Der Link von
mail
wird ebenfalls mit einer Klasse versehen
- Wird dem
subject
ein „!“ vorangestellt, kann damit eine alternative E-Mail-Adresse gewählt werden.- Es sind Yaml-Variablen definiert, die im PHP-Code ersetzt werden:
adr1
ist die „Standardadresse“adr2
die des Webmasters (wird typischerweise nur im Impressum benötigt), das „!“ wird aus dem Aufruf entfernt
voran
ist ein (optionaler) Text, der mit einem Leerzeichen getrennt demsubject
voran gestellt wird.Wird
mail
verwendet, sind die vollständigen Link-Daten „sichtbar“. Zwar BASE64-codiert, doch stellt das keine Verschlüsselung dar. Der damit anrichtbare Schaden ist wahrscheinlich „akademisch“, die übergebenen Parameter werden in „Reintext“ übersetzt, was die potenzielle Angriffsfläche sehr klein hält.Beispiel
[" "Weit hinten, [cmail \´´Ein wilder Mustertext\´´ \´´hinter den Wortbergen\´´ \´´Das ist natürlich sinnfrei…\´´] …Mustertext…\nWeit hinten, [mail \´´Ein wilder Mustertext\´´ \´´hinter den Wortbergen\´´ \´´Ebenfalls sinnfrei…\´´] …Mustertext……" "false" "true"]Ausgabe
- cmail
-
Weit hinten,
, fern der Länder Vokal und Konsonant, leben die Blindtexte. Abgeschieden wohnen Sie in Buchstabhausen an der Küste der Semantik, einem Ausläufer des Phonetik-Ozeans.
-
Weit hinten, hinter den Wortbergen, fern der Länder Vokal und Konsonant, leben die Blindtexte. Abgeschieden wohnen Sie in Buchstabhausen an der Küste der Semantik, einem Ausläufer des Phonetik-Ozeans.
Die Darstellung lässt sich mit Formatvorlagen beeinflussen. In Dokumentation fehlt das Format
mail
, mit dem der „einfache Link“ des get-Aufrufs genauso wie der post-Aufruf (mit der Klassecmail
) formatiert werden könnte. - Für das Formular