24 ноября 2002 (Обновление: 20.05.2012) [Вниз] [Обсуждение на форуме] [Спасибо автору!]

Эффективный способ борьбы со спамом

Каждому из нас, кто пользуется электронной почтой, приходилось сталкиваться со спамом - ненужными рекламными сообщениями, которые захламляют наши почтовые ящики, раздражают нас своей назойливостью и в потоке которых теряются действительно нужные и важные сообщения. Многие из нас постоянно задают себе одни и те же вопросы. Как бороться со спамом? Как победить спам? Как избавиться от спама раз и навсегда?

Многие пытаются решить проблему меняя свой адрес электронной почты. Но это решение временное: не проходит и месяца, как уже и новый почтовый ящик начинает заваливаться потоком ненужных сообщений. К тому же довольно утомительно каждый раз извещать всех своих друзей об изменений вашего адреса. Да и тяжело гарантировать, что вы не забудите известить абсолютно всех заинтересованных лиц. Вы же наверняка не помните всех, кому вы раздавали свою визитную карточку.

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

Некоторые пытаются фильтровать сообщения по ключевым словам и фразам. Но что делать со спамом на корейском или китайском языке, например? К тому же спамеры взяли моду рассылать сообщения в HTML формате, в которых текста вообще нет: вся рекламная информация содержится в графическом файле, на картинке.

Что же делать? - спросите вы. Есть ли выход?

Перепробовав множество различных вариантов, я нашел довольно простой и эффективный способ борьбы со спамом, который избавит вас от головной боли практически на сто процентов. Я объясню свой способ на примере самого распространенного почтового клиента: Microsoft Outlook Express 6, но этот способ годится практически для всех почтовых программ и почтовых веб-сервисов, где реализованы фильтры для входящих сообщений.

Идея!

Идея очень простая: пропускать всю почту от известных вам людей (организаций) и отфильтровывать в отдельную папку всю почту с неизвестных вам адресов. Таким образом весь спам отфильтровывается на 100%!

Это конечно замечательно, - скажите вы. Но как быть с нужными мне сообщениями от людей, которые пишут мне в первый раз? Они же в этом случае тоже отфильтруются.

Не волнуйтесь. С такими ситуациями можно успешно бороться. Для этого нужно, чтобы люди, посылающие вам письмо в первый раз включали в текст письма или в тему письма определенную комбинацию букв и/или цифр, которая будет служить особого рода паролем для вашей почтовой программы. Обнаружив этот пароль в тексте, ваша почтовая программа будет знать, что это письмо спамом не является и его отфильтровывать не надо.

А как тогда сделать так, чтобы пишуший мне в первый раз человек узнал о том, что нужно вставлять в письмо этот пароль?

Этого можно добиться несколькими способами. Во-первых, можно сделать так, чтобы человек получал автоматический ответ от вашей почтовой программы примерно следующего содержания: "Извините, но ваше письмо не может быть доставлено адресату, т.к. адреса, с которого оно было отправлено, нет в его адресной книге. Большая просьба переслать ваше письмо по этому же адресу, включив в тело письма такую-то строчку для того, чтобы ваше письмо не было отфильтровано как спам. Приносим свои извинения за причиненные неудобства." Во-вторых, на всех вебстраницах, где указан ваш адрес электронной почты, можно включать дополнительный код HTML, который будет автоматически вставлять пароль в тему или тело письма. Человек кликает по ссылке, запускается почтовая программа и нужная строчка уже стоит в нужном месте.

Итак, еще раз повторим как это все работает.

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

Как это сделать?

Итак приступим к реализации. Я исхожу из того, что с почтовой программой Outlook Express вы знакомы и мне не нужно объяснять вам элементарные вещи. В Outlook Express можно задавать фильтры на входящую почту, которые называются Message Rules. Посмотреть текущий список фильтров для почты можно через меню: Tools -> Message Rules -> Mail... Если вы никогда не задавали фильтров ранее, то этот список у вас будет скорее всего пустым. Каждый раз, когда Outlook Express скачивает электронное письмо, он применяет к нему существующие фильтры поочередно, в том порядке как они приведены в списке. Каждый фильтр (Message Rule) - это правило вида: "Если письмо удовлетворяет данному условию, ТО выполнить данные действия."

Для реализации вышеизложенной идеи вам потребуется задать всего три фильтра. Я исхожу из того, что список фильтров у вас пуст и буду перечислять фильтры в том порядке, в котором они должны быть в списке. Если у вас уже были установлены какие-то фильтры, то скорее всего вам потребуется их модифицировать или удалить.

Первый фильтр, который вам нужен, - это фильтр, который гарантирует, что все письма от известных вам людей останутся в папке Inbox ("Входящие") и ничего с ними не случится. Т.е. если адрес, указанный в поле From пришедшего письма, присутствует в заданном списке, то ничего не делать и не применять больше никаких фильтров к этому письму. Интерфейс конструктора фильтров очень прост и я не буду детально описывать, как задавать фильтр. (Хочу только сказать, что не надо вводить адреса из адресной книги в фильтр вручную, для этого там есть специальная кнопка.) В готовом виде ваш фильтр должен выглядеть примерно так:

Apply this rule after the message arrives
Where the From line contains 'vasya@pupkin.com' or 'masha@hotmail.com'
Stop processing more rules

Второй фильтр должен гарантировать, что если в теле письма содержится пароль "65#43#21", то письмо тоже останется во "Входящих". В готовом виде он должен выглядеть так:

Apply this rule after the message arrives
Where the message body contains '65#43#21'
Stop processing more rules

Прежде, чем вводить третий фильтр, вам нужно создать в папке Inbox подпапку Spam и подготовить текстовый файл (autoreply.txt), в котором будет содержаться текст письма автоматического ответа. Имеет смысл написать это письмо и по-английски, и по-русски. Текст может быть таким, например:

Sorry, your e-mail was NOT delivered
to Alexander Nikitin (MetaMal) because
your e-mail address was not found in
his address book.
Please, resend your message with "65#43#21"
password string as the first line of your e-mail.
In this case your message will not be regarded
as a spam by the mail robot.
Sorry for inconvenience.
-----------------------------------------------
Извините, но ваше письмо НЕ было доставлено
Александру Никитину (МетаМалу) в связи с тем,
что ваш адрес электронной почты отсутствует в его
адресной книге.
Пожалуйста, перешлите ваше письмо еще раз по
тому же адресу, вставив в его начало строчку-пароль:
"65#43#21". В этом случае ваше письмо не
будет отфильтровано как спам почтовым роботом.
Извините за доставленное неудобство.

После того, как вы сохранили текст для автоответчика, вводите третий фильтр, который переносит все письма, прошедшие через первые два фильтра в подпапку Spam, сразу помечает их как прочтенные (чтобы новый спам не мозолил глаза), и высылает текст автоответчика по обратному адресу. В готовом виде фильтр должен выглядеть примерно вот так:

Apply this rule after the message arrives
For all messages 
Move it to the Spam folder 
    and Mark it as read 
    and Reply with C:\texts\autoreply.txt 
    and Stop processing more rules

В принципе, трех вышеперечисленных фильтров уже достаточно, чтобы расслабиться и получать удовольствие. Однако я бы порекомендовал еще поставить галочку напротив Tools -> Options... -> Send -> "Automatically put people I reply to in my Adress Book", чтобы вам проще было обновлять список адресов в первом фильтре, когда у вас появляются новые люди, с которыми вы вступаете в переписку.

Как я писал ранее, имеет смысл изменить HTML-код на тех веб-страничках, где указан ваш адрес электронной почты. Новый код должен обеспечивать вставку пароля в тело письма. Для этого в качестве гиперссылки надо указать подобную строчку:

mailto:vasya@pupkin.com?
body=65#43#21%20Don't%20remove%20this%20line!

Чтобы увидеть, что из этого получается кликните на вот этот адрес: vasya@pupkin.com.

Ограничения и недостатки данного метода

Данный метод борьбы со спамом идеально подходит для людей со стабильным кругом общения, которым редко приходят письма от незнакомых людей. И данный метод совершенно НЕ подходит тем, к кому постоянно приходят письма от незнакомцев. Например, он наверняка не подойдет сотрудникам службы технической поддержки любой компании.

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

У данного метода есть один забавный баг, который у меня пока не случался, но который теоретически вполне может произойти. Представьте себе ситуацию, когда у спамера на обратном адресе сидит автоответчик и ваша почтовая программа проверяет почту, ну скажем, каждые пять минут. :-)

P.S. Месяц спустя

Прошло уже больше месяца как я использую описанный выше способ борьбы со спамом. Месяц эксплуатации показал, что метод работает именно так, как и было задумано, и поставленную перед ним задачу решает на 100 процентов: про спам я уже не вспоминаю.

Никаких багов и побочных эффектов замечено не было. Что касается "человеческого фактора", то практика показывает, что практически все люди, на чьи письма приходил автоматический ответ от моей почтовой программы, реагировали адекватно: вставляли необходимую строчку в письмо и пересылали его по тому же адресу.

За месяц эксплуатации я внес всего одну модификацию в мою систему фильтров. Мною было замечено, что среди имеющихся у меня почтовых адресов есть такие, которые еще нигде не успели "засветиться" и на которые спам не приходит вообще. Чтобы зря не напрягать людей, которые первый раз пишут мне на эти адреса, я добавил еще один фильтр, который гарантирует, что если письмо было отправлено мне на такой адрес, то оно не будет считаться спамом. Этот фильтр имеет смысл поставить перед всеми остальными, и выглядеть он должен примерно так:

Apply this rule after the message arrives
Where the message is from the Yandex account 
Stop processing more rules

После написания этой статьи я получил некоторое количество отзывов от читателей. Люди, которые пользуются модемной связью, говорили, что мой метод позволяет добиться того, чтобы спам больше никогда не мозолил глаза, но при этом не уменьшает объем интернет-траффика. Всеравно почтовой программе приходится скачивать спам с сервера. Однако, как я писал в самом начале, этот метод можно применять не только с почтовыми клиентами. Существуют бесплатные почтовые веб-сервисы, которые позволяют установить подобную систему фильтров. Таким образом спам будет уничтожаться сразу же на почтовом сервере и не будет загружать модемный канал. В качестве примера такого веб-сервиса могу привести бесплатную почту mail.yandex.ru. Имеющаяся там система фильтров позволяет реализовать то, о чем я писал выше.

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

Приятно осозновать, что у меня нашлись единомышленники. Видимо идея, как говорится, висела в воздухе. Практически такой же способ борьбы со спамом предложил Илья Щуров в статье "Свобода спама или свобода от спама?", которая была опубликована в журнале "Компьютерра".

[Вверх] [Обсуждение на форуме] [Спасибо автору!]

comments powered by Disqus