<<MailTo(Vorname DOT Nachname AT example DOT net)>>
oder
<<MailTo(Vorname DOT Nachname AT example DOT net, Link-Text)>>
<<MailTo(Vorname DOT Nachname AT example DOT net)>>
oder
<<MailTo(Vorname DOT Nachname AT example DOT net, Link-Text)>>
Es wird unterschieden zwischen angemeldeten und anonymen Benutzern.
Bei angemeldeten Benutzern wird davon ausgegangen, dass sie diese E-Mail-Adresse lesen und benutzen dürfen (sonst würde man sie ja nicht im Wiki veröffentlichen).
Bei anonymen Benutzern ist die Lage kritischer - denn das können einerseits zwar auch "normale" Benutzer sein, es besteht aber auch genauso die Möglichkeit, dass hier jemand oder etwas (ein SpamBot) Mailadressen einsammelt, um deren Besitzer nachher mit unerwünschter kommerzieller Werbung zu beglücken (dies ist ein ganz allgemeines Problem im Internet).
Diese bekommen Folgendes zu sehen:
Also einen direkt lesbaren und anklickbaren mailto:-Link.
Bei anonymen Benutzern (ebenso wie bei Spam-Bots und anderen Robots) zeigt das Makro den Text einfach so an, wie er als Parameter dem Makro übergeben wurde:
Also reinen Text, ohne mailto:-Link. Ein intelligenter menschlicher Leser kann sich dann einen Reim darauf machen und die E-Mail-Adresse dann von Hand in sein E-Mail-Programm eingeben.
Ein automatischer Spam-Bot kann aber vermutlich mit diesem Text nichts anfangen, er "überliest" ihn (es sei denn, es ist ein besonders schlauer, dazu siehe unten) und das Makro hat seinen Zweck erfüllt, nämlich unnötigen Spam zu verhindern.
Bei anonymen Benutzern gibt das Makro den Text so aus, wie er als Parameter übergeben wurde.
Bei angemeldeten Benutzern verarbeitet das Makro die übergebene Zeichenkette:
AT |
@ |
DOT |
. |
DASH |
- |
Zuguterletzt wird daraus ein anklickbarer mailto:-Link generiert.
Es besteht natürlich die Gefahr, dass ein besonders schlauer Spam-Bot vielleicht übliche Sachen wie AT und DOT und NOSPAM auch schon erkennen kann und entsprechend umformt.
Was aber die Sache wirklich schwierig macht, ist, dass man beliebige Worte einstreuen kann und auch beliebig Leerzeichen einstreuen kann.
Der Spam-Bot, der das noch erkennen kann, hat sich die E-Mail dann quasi redlich verdient.
Man kann die Funktionsweise von MailTo gut sehen, wenn man diese Beispiele als angemeldeter und nicht angemeldeter Benutzer vergleicht:
<<MailTo(Vorname DOT Nachname AT example DOT net)>> ergibt: <Vorname DOT Nachname AT example DOT net>
<<MailTo(Vorname . Nachname AT exa mp le DOT n e t)>> ergibt: <Vorname . Nachname AT exa mp le DOT n e t>
<<MailTo(Vorname ICH WILL KEINEN SPAM . Nachname@example DOT net)>> ergibt: <Vorname ICH WILL KEINEN SPAM . Nachname@example DOT net>
<<MailTo(Vor name ICH Nachname WILL AT KEINEN SPAM example DOT n e t)>> ergibt: <Vor name ICH Nachname WILL AT KEINEN SPAM example DOT n e t>
<<MailTo(Vorname DOT Nachname AT example DOT net, "Ich, meinereiner und ich selbst")>> ergibt: Ich, meinereiner und ich selbst <Vorname DOT Nachname AT example DOT net>
Wieviel jeder Eigentümer einer Mailadresse den nicht-angemeldeten menschlichen Benutzern zumuten will, sei jedem selbst überlassen. Wer es selbst für den menschlichen Leser schwierig macht, bekommt eben weniger E-Mail.