<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>ПомощьПоМакроКомандам/MailTo</title></articleinfo><section><title>Макрокоманда MailTo</title><para>Cannot load macro TableOfContetnts </para><para>Использование макрокоманды <code>MailTo</code> позволяет размещать почтовый адрес на вики способом, препятствующим его автоматическому распознанию спам-ботом (роботом, собирающим почтовые адреса). </para><section><title>Использование</title><para><code>&lt;&lt;MailTo(почтовый DOT адрес AT домен DOT ru)&gt;&gt;</code> </para><para>или  </para><para><code>&lt;&lt;MailTo(почтовый DOT адрес AT домен DOT ru, текст ссылки)&gt;&gt;</code> </para></section><section><title>Что делает эта макрокоманда?</title><para>Разделаются аутентифицированные и неаутентифицированные пользователи (в число последних входят спам-боты). </para><para>Предполагается, что аутентифицированные пользователи имеют возможность прочитать адрес и воспользоваться им путём перехода по ссылке, с ним связанной (в противном случае этот адрес не публиковался бы на вики) </para><para>Неаутентифицированные же пользователи бывают разные — как легитимные пользователи, так и те (например, спам-боты), кто занимается сбором почтовых адресов для рассылки непрошеной коммерческой рекламы (это весьма насущная проблема в интернете). </para><section><title>Аутентифицированные пользователи</title><para>Аутентифицированные пользователи увидят следующее: </para><itemizedlist><listitem override="none"><para><ulink url="mailto:имя.пользователя@домен.ru">имя.пользователя@домен.ru</ulink> </para></listitem></itemizedlist><para>Таким образом, им будет предоставлен читаемый и доступный для перехода адрес по протоколу <code>mailto:</code>.  </para></section><section><title>Неаутентифицированные пользователи</title><para>Неаутентифициованные пользователи (в том числе спам- и прочие боты) увидят необработанный текст, переданный в качестве аргумента, переданного макрокоманде </para><itemizedlist><listitem override="none"><para>имя DOT пользователя AT домен DOT ru </para></listitem></itemizedlist><para>Чистый текст, без ссылки <code>mailto:</code>. Человек может прочитать его и использовать в почтовом клиенте вручную. Но бот, вероятно, не сможет ничего сделать с ним и, вероятно, пропустит его (кроме случаев достаточно интеллектуальных ботов, подробнее см. ниже); таким образом, макрокоманда выполнит своё предназначение, позволив избежать (увеличения количества) спама. </para></section></section><section><title>Схема работа макрокоманды и некоторые примеры</title><para>В случае неаутентифицированного пользователя макрокоманда в качестве результата возвращает необработанный текст, переданный в качестве аргумента. </para><para>В случае аутентифицированного пользователя, макрокоманда обрабатывает текст аргумента следующим образом: </para><orderedlist numeration="arabic"><listitem><para>Слова, состоящие из заглавных букв, заменяются следующим образом </para><itemizedlist><listitem override="none"><informaltable><tgroup cols="2"><colspec colname="col_0"/><colspec colname="col_1"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1"><para> AT   </para></entry><entry colsep="1" rowsep="1"><para> <code>@</code> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> DOT  </para></entry><entry colsep="1" rowsep="1"><para> <code>.</code> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> DASH </para></entry><entry colsep="1" rowsep="1"><para> <code>-</code> </para></entry></row></tbody></tgroup></informaltable></listitem></itemizedlist></listitem><listitem><para>Прочие слова, набранные заглавными символами, например, «НЕТСПАМУ», «НЕТ СПАМУ», «ЧТО УГОДНО», «Я НЕ ХОЧУ ПОЛУЧАТЬ СПАМ» и т. д., будут опущены (заменены на пустую строку). </para></listitem><listitem><para>Пробельные символы удаляются </para></listitem><listitem><para>Генерируется рабочая ссылка <code>mailto:</code> </para></listitem></orderedlist><para>разумеется, существует вероятность, что интеллектуальный спам-бот распознаёт типичные способы защиты от спама, в том числе, использование слов «AT», «DOT», «НЕТ СПАМУ» и корректно их обработает. Вероятность подобного уменьшается при добавлении других (обычных) слов и пробельных символов. Вероятность того, что спам-бот распознает адрес в этом случае, очень и очень низка (кроме случаев, когда он заточен под обход вики на <ulink url="http://research.math.uvt.ro/wiki/%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D0%9F%D0%BE%D0%9C%D0%B0%D0%BA%D1%80%D0%BE%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B0%D0%BC/MailTo/wiki/%D0%9C%D0%BE%D0%B9%D0%BD%D0%9C%D0%BE%D0%B9%D0%BD#">МойнМойн</ulink>). </para><para>Можно оценить эффект использования макрокоманды <code>MailTo</code> на следующих примерах (сравнивая результат для аутентифицированных и неаутентифицированных пользователей): </para><informaltable><tgroup cols="2"><colspec colname="col_0"/><colspec colname="col_1"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1"><para> <emphasis role="strong">Разметка</emphasis>                                  </para></entry><entry colsep="1" rowsep="1"><para> <emphasis role="strong">Результат</emphasis>                                                     </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;MailTo(имя DOT пользователя AT домен DOT ru)&gt;&gt;</code>                    </para></entry><entry colsep="1" rowsep="1"><para> <code>&lt;имя DOT пользователя AT домен DOT ru&gt;</code>                    </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;MailTo(имя . пользователя AT до м ен DOT r u)&gt;&gt;</code>                   </para></entry><entry colsep="1" rowsep="1"><para> <code>&lt;имя . пользователя AT до м ен DOT r u&gt;</code>                   </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;MailTo(имя Я НЕ ХОЧУ ПОЛУЧАТЬ СПАМ . пользователя@домен DOT ru)&gt;&gt;</code> </para></entry><entry colsep="1" rowsep="1"><para> <code>&lt;имя Я НЕ ХОЧУ ПОЛУЧАТЬ СПАМ . пользователя@домен DOT ru&gt;</code> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;MailTo(и мя DOT Я пользователя НЕ AT ХОЧУ СПАМ домен DOT r u&gt;&gt;</code>    </para></entry><entry colsep="1" rowsep="1"><para> <code>&lt;и мя DOT Я пользователя НЕ AT ХОЧУ СПАМ домен DOT r u&gt;</code>    </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;MailTo(имя DOT пользователя AT домен DOT ru, &quot;Сам себе я&quot;)&gt;&gt;</code>      </para></entry><entry colsep="1" rowsep="1"><para> Сам себе я <code>&lt;имя DOT пользователя AT домен DOT ru&gt;</code>      </para></entry></row></tbody></tgroup></informaltable><para><inlinemediaobject><imageobject><imagedata depth="16" fileref="http://research.math.uvt.ro/wiki//static/moniker/img/idea.png" width="16"/></imageobject><textobject><phrase>(!)</phrase></textobject></inlinemediaobject> Возможность добавлять слова в верхнем регистре затрудняет прочтение адреса как для ботов, так и для людей. Если адрес будет достаточно сложным для прочтения человеком, то он не сможет связаться с обладателем почтового ящика. </para></section></section></article>