Использование макрокоманды MailTo позволяет размещать почтовый адрес на вики способом, препятствующим его автоматическому распознанию спам-ботом (роботом, собирающим почтовые адреса).
Использование
<<MailTo(почтовый DOT адрес AT домен DOT ru)>>
или
<<MailTo(почтовый DOT адрес AT домен DOT ru, текст ссылки)>>
Что делает эта макрокоманда?
Разделаются аутентифицированные и неаутентифицированные пользователи (в число последних входят спам-боты).
Предполагается, что аутентифицированные пользователи имеют возможность прочитать адрес и воспользоваться им путём перехода по ссылке, с ним связанной (в противном случае этот адрес не публиковался бы на вики)
Неаутентифицированные же пользователи бывают разные — как легитимные пользователи, так и те (например, спам-боты), кто занимается сбором почтовых адресов для рассылки непрошеной коммерческой рекламы (это весьма насущная проблема в интернете).
Аутентифицированные пользователи
Аутентифицированные пользователи увидят следующее:
Таким образом, им будет предоставлен читаемый и доступный для перехода адрес по протоколу mailto:.
Неаутентифицированные пользователи
Неаутентифициованные пользователи (в том числе спам- и прочие боты) увидят необработанный текст, переданный в качестве аргумента, переданного макрокоманде
- имя DOT пользователя AT домен DOT ru
Чистый текст, без ссылки mailto:. Человек может прочитать его и использовать в почтовом клиенте вручную. Но бот, вероятно, не сможет ничего сделать с ним и, вероятно, пропустит его (кроме случаев достаточно интеллектуальных ботов, подробнее см. ниже); таким образом, макрокоманда выполнит своё предназначение, позволив избежать (увеличения количества) спама.
Схема работа макрокоманды и некоторые примеры
В случае неаутентифицированного пользователя макрокоманда в качестве результата возвращает необработанный текст, переданный в качестве аргумента.
В случае аутентифицированного пользователя, макрокоманда обрабатывает текст аргумента следующим образом:
- Слова, состоящие из заглавных букв, заменяются следующим образом
AT
@
DOT
.
DASH
-
- Прочие слова, набранные заглавными символами, например, «НЕТСПАМУ», «НЕТ СПАМУ», «ЧТО УГОДНО», «Я НЕ ХОЧУ ПОЛУЧАТЬ СПАМ» и т. д., будут опущены (заменены на пустую строку).
- Пробельные символы удаляются
Генерируется рабочая ссылка 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> |
Возможность добавлять слова в верхнем регистре затрудняет прочтение адреса как для ботов, так и для людей. Если адрес будет достаточно сложным для прочтения человеком, то он не сможет связаться с обладателем почтового ящика.