The following 202 words could not be found in the dictionary of 615 words (including 615 LocalSpellingWords) and are highlighted below:

ability   able   abuse   abused   add   address   addresses   All   an   An   and   Anonymous   anonymous   anything   arbitrary   argument   assumed   automatic   avoiding   be   becomes   being   below   between   blanks   bot   both   bots   bright   But   but   by   can   case   clickable   client   collected   collecting   commercial   comparing   converting   correctly   course   critical   danger   desire   differentiate   directly   does   dropped   each   earned   easily   effects   empty   enter   especially   etc   even   exa   example   examples   except   fear   Firstname   following   follows   For   for   fulfilled   general   generated   get   gets   Given   hard   having   helps   hopefully   How   human   humans   if   If   in   includes   intelligent   interpret   into   its   Lastname   le   less   like   link   literal   logged   Logged   Macro   macro   made   mail   Mail   mailto   make   manually   Me   miss   more   mp   Myself   Nachname   name   Navigation   net   no   normal   obstacles   of   one   only   or   Other   other   otherwise   out   outputs   parameter   passed   problem   processes   protection   publish   Pure   purpose   putting   raise   rather   read   readable   readers   recognize   recognizing   Regarding   removed   replaced   right   robots   safe   samples   see   sending   siblings   simply   single   So   some   someone   something   spammer   sprinkle   string   text   that   The   the   them   There   these   they   They   things   This   this   those   to   To   unlikely   unsolicited   Usage   use   user   users   Using   usual   very   via   Vorname   way   We   well   What   which   who   will   without   words   works   would   You   you   your  


Using the MailTo-Macro helps you putting your email address into a wiki in a rather safe way without having to fear that it gets collected by spam bots (robots collecting email addresses) and abused by some spammer.


[[MailTo(Firstname DOT Lastname AT example DOT net)]]


[[MailTo(Firstname DOT Lastname AT example DOT netlink text)]]

What does it do?

We have to differentiate between logged-in and anonymous users (which includes spam bots).

Logged-in users are assumed to have the right to read and easily use the email address via a single click (otherwise, one would not publish it in a wiki).

Regarding anonymous users things get more critical - those could be "normal" users, but also someone or something (like a spam bot) collecting email addresses to abuse them by sending unsolicited commercial email to them (this is a very general problem in the internet).

Logged-in users

They will get the following:

So they get a directly readable and clickable mailto: link.

Anonymous users

Anonymous users (like spam bots and other bots) will only get the literal argument text as passed to the macro:

  • Firstname DOT Lastname AT example DOT net

Pure text, no mailto: link. An intelligent human being will be able to interpret that and enter that email address manually into an email client.

But an automatic bot hopefully can't make anything out of that and will simply miss it (except if it is an especially bright bot, for that case see below) - and the macro has fulfilled its purpose, avoiding spam.

How it works and more samples

For anonymous users, the macro simply outputs the literal argument text as passed to the macro.

For logged-in users, the macro processes the parameter string as follows:

  1. The following ALL-UPERCASE words will be replaced:
    • AT






  2. Other ALL-UPPERCASE words like e.g. NO SPAM NOSPAM WHATEVER I DONT WANT SPAM etc. will simply be dropped (replaced by an empty string).
  3. All blanks get removed.
  4. A clickable mailto: link is generated.

There is of course some danger of an especially bright spam bot recognizing usual spam protection words like AT, DOT and NOSPAM and converting them correctly. This is made more unlikely if you sprinkle in arbitrary words and blanks. A spam bot who can even recognize that has well earned your email address. ;)

You can easily see the effects of MailTo by comparing these examples for logged-in and anonymous users:

  • [[MailTo(Firstname DOT Lastname AT example DOT net)]] becomes <Firstname DOT Lastname AT example DOT net>

  • [[MailTo(Firstname . Lastname AT exa mp le DOT n e t)]] becomes <Firstname . Lastname AT exa mp le DOT n e t>

  • [[MailTo(Firstname I DONT WANT SPAM . Lastname@example DOT net)]] becomes <Firstname I DONT WANT SPAM . Lastname@example DOT net>

  • [[MailTo(First name I Lastname DONT AT WANT SPAM example DOT n e t)]] becomes <First name I Lastname DONT AT WANT SPAM example DOT n e t>

  • [[MailTo(Vorname DOT Nachname AT example DOT netMeMyselfand I)]] becomes Me, Myself, and I <Vorname DOT Nachname AT example DOT net>

(!) Given the ability to add CAPS words, each user can raise the obstacles for both bots and humans as they desire. If you make it hard for human readers, you will get less mail. ;)