welcome: please sign in

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

location: ПомощьПоМакроКомандам / MailTo

Макрокоманда MailTo

<<TableOfContetnts>>

Использование макрокоманды 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>

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