Использование макрокоманды MailTo позволяет размещать почтовый адрес на вики способом, препятствующим его автоматическому распознанию спам-ботом (роботом, собирающим почтовые адреса).

Использование

<<MailTo(почтовый DOT адрес AT домен DOT ru)>>

или

<<MailTo(почтовый DOT адрес AT домен DOT ru, текст ссылки)>>

Что делает эта макрокоманда?

Разделаются аутентифицированные и неаутентифицированные пользователи (в число последних входят спам-боты).

Предполагается, что аутентифицированные пользователи имеют возможность прочитать адрес и воспользоваться им путём перехода по ссылке, с ним связанной (в противном случае этот адрес не публиковался бы на вики)

Неаутентифицированные же пользователи бывают разные — как легитимные пользователи, так и те (например, спам-боты), кто занимается сбором почтовых адресов для рассылки непрошеной коммерческой рекламы (это весьма насущная проблема в интернете).

Аутентифицированные пользователи

Аутентифицированные пользователи увидят следующее:

Таким образом, им будет предоставлен читаемый и доступный для перехода адрес по протоколу mailto:.

Неаутентифицированные пользователи

Неаутентифициованные пользователи (в том числе спам- и прочие боты) увидят необработанный текст, переданный в качестве аргумента, переданного макрокоманде

Чистый текст, без ссылки mailto:. Человек может прочитать его и использовать в почтовом клиенте вручную. Но бот, вероятно, не сможет ничего сделать с ним и, вероятно, пропустит его (кроме случаев достаточно интеллектуальных ботов, подробнее см. ниже); таким образом, макрокоманда выполнит своё предназначение, позволив избежать (увеличения количества) спама.

Схема работа макрокоманды и некоторые примеры

В случае неаутентифицированного пользователя макрокоманда в качестве результата возвращает необработанный текст, переданный в качестве аргумента.

В случае аутентифицированного пользователя, макрокоманда обрабатывает текст аргумента следующим образом:

  1. Слова, состоящие из заглавных букв, заменяются следующим образом
    • AT

      @

      DOT

      .

      DASH

      -

  2. Прочие слова, набранные заглавными символами, например, «НЕТСПАМУ», «НЕТ СПАМУ», «ЧТО УГОДНО», «Я НЕ ХОЧУ ПОЛУЧАТЬ СПАМ» и т. д., будут опущены (заменены на пустую строку).
  3. Пробельные символы удаляются
  4. Генерируется рабочая ссылка mailto:

разумеется, существует вероятность, что интеллектуальный спам-бот распознаёт типичные способы защиты от спама, в том числе, использование слов «AT», «DOT», «НЕТ СПАМУ» и корректно их обработает. Вероятность подобного уменьшается при добавлении других (обычных) слов и пробельных символов. Вероятность того, что спам-бот распознает адрес в этом случае, очень и очень низка (кроме случаев, когда он заточен под обход вики на МойнМойн).

Можно оценить эффект использования макрокоманды MailTo на следующих примерах (сравнивая результат для аутентифицированных и неаутентифицированных пользователей):

Разметка

Результат

<<MailTo(имя DOT пользователя AT домен DOT ru)>>

<имя DOT пользователя AT домен DOT ru>

<<MailTo(имя . пользователя AT до м ен DOT r u)>>

<имя . пользователя AT до м ен DOT r u>

<<MailTo(имя Я НЕ ХОЧУ ПОЛУЧАТЬ СПАМ . пользователя@домен DOT ru)>>

<имя Я НЕ ХОЧУ ПОЛУЧАТЬ СПАМ . пользователя@домен DOT ru>

<<MailTo(и мя DOT Я пользователя НЕ AT ХОЧУ СПАМ домен DOT r u>>

<и мя DOT Я пользователя НЕ AT ХОЧУ СПАМ домен DOT r u>

<<MailTo(имя DOT пользователя AT домен DOT ru, "Сам себе я")>>

Сам себе я <имя DOT пользователя AT домен DOT ru>

(!) Возможность добавлять слова в верхнем регистре затрудняет прочтение адреса как для ботов, так и для людей. Если адрес будет достаточно сложным для прочтения человеком, то он не сможет связаться с обладателем почтового ящика.