Как проходить спам фильтры. Делаем фильтр от спама для почты. Постарайтесь повторно заинтересовать подписчиков, которые неактивны или проявляют нерегулярную активность

Для мясных консервов компании Hormel Foods Corporation (англ.) русск. - острого колбасного фарша из свинины.

Смысл скетча сводится к тому, что в одном кафе все блюда в меню содержат «SPAM», некоторые даже по несколько раз. Когда главный герой скетча, пришедший в это кафе вместе с женой, просит принести ему блюдо без «SPAMа», официантка предлагает ему блюдо с «небольшим количеством SPAMа».

Посетитель возмущается, а хор викингов, сидящих за соседними столиками, начинает петь хвалебную песню «SPAMу»: «Spam, Spam, Spam, Spam… Lovely Spam! Wonderful Spam!» («Spam, Spam, Spam, Spam… Любимый Spam! Замечательный Spam!») , делая невозможным диалог официантки и посетителей (то есть «spamming» диалог - «заспамить» диалог ), после чего скетч погружается в хаос. В конце скетча жена героя восклицает: «Я не люблю „SPAM“»! (англ. «I don’t like spam!» ) . В титрах к именам действующих лиц также было добавлено слово «SPAM» (Spam Terry Jones, Michael Spam Palin, John Spam John Spam John Spam Cleese и др.). В общей сложности это слово упоминается в скетче 108 раз. .

Антиреклама [ | ]

«Нигерийские письма» [ | ]

Иногда спам используется мошенниками, чтобы выманить деньги у получателя письма. Распространенный способ получил название «нигерийские письма», потому что большое количество таких писем, якобы, приходило из Нигерии и послано жителями Нигерии [ ] .

Такое письмо содержит сообщение, якобы получатель письма может получить каким-либо образом большую сумму денег (напр. наследство однофамильца получателя), а отправитель может ему в этом помочь. Затем отправитель письма просит перевести ему относительно «немного » денег под предлогом, якобы они нужны, например, для оформления документов, открытия счета, оплаты проезда или пересылочных расходов; про обещанную же крупную сумму при этом обычно говорится, что она пока недоступна, и выманиваемые деньги нужны для овладения ею. Выманивание этих денег и является целью мошенников.

Более узкое название этого вида мошенничества - скам или скам 419 (по номеру статьи в УК Нигерии).

Фишинг [ | ]

Блоги, вики, форумы, доски объявлений [ | ]

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

Спам в комментариях преследует две цели: увеличение количества входящих ссылок на продвигаемый сайт (в частности, для повышения Google PR или ТИц Яндекса), а также для увеличения посещаемости продвигаемого сайта (если комментарий оставлен на более популярном ресурсе).

Другой разновидностью спама в блогах является поголовное, часто - автоматическое, внесение пользователей в список «друзей» без знакомства с их персональными страницами, как правило, с целью искусственного повышения собственного рейтинга путём получения «взаимной» дружбы, либо привлечения внимания к сетевой рекламе, размещенной в журнале спамера. Такой вид спама иногда называют «Френдоспамом» (от англ. friend - друг).

Особое внимание стоит обратить на размещение спама на досках объявлений. Обычно на таких досках размещают информацию коммерческого и полукоммерческого содержания. Зачастую спамеры размещают своё объявление во всех доступных разделах, чтобы увеличить релевантность сообщения в индексируемых страницах поисковыми механизмами. Сами объявления маскируются под коммерческое объявление, иногда каждое слово выглядит как гиперссылка. Иногда в одном объявлении можно увидеть более десятка ссылок, ведущих на разные страницы. Модерировать доски объявлений с большим количеством объявлений очень трудно, часто срабатывает человеческий фактор - невнимательность.

Поисковый спам [ | ]

Поисковый спам - страницы и web-сайты, созданные с целью манипулирования результатами в выдаче поисковых систем , например, дорвеи - страницы с ключевыми словами и автоматическим перенаправлением на «нужный» сайт.

За последние годы алгоритмы поисковых систем стали намного сложнее и лучше в плане борьбы с поисковым спамом.

Сетевые сообщения [ | ]

Когда-то давно спам рассылали по локальной сети через встроенную в Microsoft Windows SMB -службу Messenger . Такие сообщения появляются в виде всплывающих окон (если не установлено стороннего ПО, обрабатывающего их по-другому). В этом случае для отключения их приёма можно, например, остановить службу Messenger командой net stop messenger . В версиях Windows NT , начиная с Windows XP SP2 , эта служба уже остановлена по умолчанию, поэтому данный способ рассылки встречается всё реже. Соединения извне на порты SMB закрыты с начала 2000-х после массового распространения SMB-червей.

SMS-сообщения [ | ]

Спам может распространяться не только через Интернет. Рекламные сообщения, присылаемые на мобильные телефоны с помощью SMS -сообщений, особенно неприятны тем, что от них труднее защититься.

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

Телефонные номера для рассылок спама могут получать как полузаконными путями (из сервисов, сайтов, магазинов и прочих, где человек оставил свой телефонный номер), так и незаконным путём.

Сбор адресов электронной почты [ | ]

Спамеры выясняют почтовые адреса пользователей разными способами. Вот некоторые из них:

Причиняемый вред [ | ]

Массовая рассылка спама имеет низкую себестоимость для отправителя в расчёте на сообщение. Однако огромное количество бесполезных сообщений наносит очевидный вред получателям. В первую очередь речь идёт о времени, потраченном впустую на отсеивание ненужной почты и выискивание среди неё отдельных нужных писем. Очень часто интернет-трафик стоит дорого, и пользователю приходится платить за очевидно ненужные письма. Самый большой вред исходит из-за неосведомлённости получателей спама, которые открывают спамные письма, переходят по ссылкам, якобы присланным их знакомыми, скачивают вирусы и не подозревая того, распространяют их в обществе (чаще первые в списке зараженных оказываются рабочие компьютеры). Считается, что спам может быть выгоден провайдерам , так как приводит к повышенному трафику. На самом деле, провайдеры также несут дополнительные затраты из-за повышения бесполезной нагрузки на каналы и оборудование. Именно провайдерам приходится тратить ресурсы на избыточное оборудование и системы защиты от спама. Согласно общедоступной статистике , не менее 80 % пересылаемых писем в настоящее время составляет спам (по данным некоторых исследований на одного интернет-пользователя сегодня приходится по 70 спамовых сообщений в сутки ). Большая часть его отсекается почтовыми серверами во время получения. Но даже оставшейся меньшей части достаточно для осложнения жизни пользователей. Провайдеры несут дополнительные издержки из-за постоянной необходимости борьбы со спамерами (избыточное оборудование, избыточная ёмкость каналов, специальное программное обеспечение для распознавания спама).

Спам также наносит вред репутации приверженцам данного способа вирусного маркетинга . А имитация спам-рассылки может применяться для дискредитации товара (который в ней рекламируется) и/или оператора связи, с адресов которого она (якобы или действительно) проводится, то есть спам может использоваться в недобросовестной конкуренции и «чёрном» пиаре .

По данным специалистов Российской ассоциации электронных коммуникаций (РАЭК), в 2009 году ущерб экономики России от спама составил 14,1 млрд рублей. Тем временем аналитики ФБК утверждают, что каждый год спамеры наносят экономике России потери на сумму от 31,3 до 47,2 млрд рублей .

Россия оказалась на четвёртом месте в рейтинге самых активных распространителей спама. Перечень составила британская компания Sophos , которая занимается защитой данных и разработкой антивирусного программного обеспечения .

Оценки эффективности [ | ]

Тестирование и анализ результатов рассылки спама неизменно показывает его исключительно низкую эффективность, а часто и почти полную безрезультатность. Например, во время рекламной кампании в Калифорнии с 75 869 компьютеров за 26 дней были разосланы 350 млн извещений о продаже нового лекарства на натуральной основе. В итоге фирма получила 28 заказов .

Спамеры [ | ]

Американец Сэнфорд Уоллес по прозвищу «Король спама» был оштрафован на 4, 234 и 711 млн долларов (2006, 2008 и 2009 года соответственно).

Известный российский спамер Леонид Куваев , занимающий второе место в списке самых злостных спамеров Интернета, начинал свой бизнес в Америке, однако в 2005 году попал под суд - генеральный прокурор штата Массачусетс определил, что спамерская сеть Куваева, в том числе партнёрская программа BadCow, генерируют ему 30 млн долларов США ежегодно - и выходцу из РФ присудили штраф в размере 37 млн долларов США. Однако, тот уехал обратно в Россию, откуда его не удалось достать даже с помощью ФБР. Его сайты продолжали продавать «Виагру» без лицензии и рассылать спам через ботнеты. В декабре 2009 года Куваев был арестован в Москве за педофилию, в суд передано дело по шестидесяти эпизодам домогательств к несовершеннолетним.

  • Центр Американского Английского - один из наиболее известных российских спамеров.
  • Центр Плюс , Экстра М - наиболее известные представители «бумажного спама».

Борьба со спамом [ | ]

Идеология [ | ]

Очевидно, что спам приносит экономическую выгоду его заказчикам. Это означает, что пользователи, несмотря на неприязнь к спаму, всё-таки пользуются рекламируемыми посредством спама услугами. До тех пор, пока отдача от спама превышает затраты на преодоление защиты, спам не исчезнет. Таким образом, самым надёжным способом борьбы является отказ от услуг, рекламируемых посредством спама. Встречаются предложения о применении общественного осуждения, вплоть до прекращения общения, против лиц, покупающих рекламируемые спамом товары и услуги .

Другие способы направлены на затруднение спамерам доступа к пользователям.

Превентивные меры защиты [ | ]

Самый надёжный способ борьбы со спамом - не позволить спамерам узнать электронный адрес. Это трудная задача, но некоторые меры предосторожности можно предпринять.

  • Не следует публиковать свой адрес на общедоступных сайтах.
    • Если по каким-то причинам адрес электронной почты приходится публиковать, его можно заировать наподобие «u_s_e_r_(a)_d_o_m_a_i_n_._n_e_t». Спамеры используют специальные программы для сканирования сайтов и сбора почтовых адресов, поэтому даже такая маскировка адреса может помочь. Следует помнить, однако, что в самых простых случаях «заированный» адрес сможет распознать и программа. К тому же, это создает неудобства не только для спамеров, но и для обычных пользователей.
    • Большинство публичных сайтов не публикует адреса электронной почты зарегистрированных пользователей, но даёт возможность от сообщение по нику . Реальный адрес подставляется сервером из профиля пользователя, и другим пользователям невидим.
    • Адрес можно представить в виде картинки. Существуют онлайн-службы, делающие это автоматически (однако, не следует забывать, что некоторые из этих служб могут сами собирать и продавать введенные пользователями почтовые адреса). Кроме того, это можно сделать в любом графическом редакторе или просто написать электронный адрес от руки и сфотографировать.
    • На web-страницах адреса электронной почты можно ировать при помощи JavaScript .
  • Можно завести специальный ящик для регистрации в службах, не вызывающих особого доверия, и не использовать его для обычной работы. Существуют даже службы, выдающие одноразовые адреса электронной почты специально для того, чтобы указывать их в сомнительных случаях.
  • Никогда не следует отвечать на спам или переходить по содержащимся в нём ссылкам, в том числе и по ссылкам, предназначенным якобы для отписки от рассылки. Такое действие подтвердит, что электронный адрес реально существует, активно используется, а его получатель читает спам, и приведёт к увеличению количества спама.
  • Факт загрузки картинок, включенных в письмо, при прочтении, может использоваться для проверки активности почтового адреса. Поэтому рекомендуется при запросе почтового клиента о разрешении загрузки картинки запрещать действие, если вы не уверены в отправителе.
  • Выбирая адрес электронной почты, следует, по возможности, остановиться на длинном и неудобном для угадывания имени. Так, имеется менее 12 миллионов имён, состоящих из не более 5 латинских букв. Даже если добавить цифры и символ подчерка, количество ников менее 70 миллионов. Спамер может от почту на все такие имена и отсеять те, с которых ему пришёл ответ «адресата не существует». Таким образом, желательно, чтобы имя было не короче 6 символов, а если в нём нет цифр - не короче 7 символов. Желательно также, чтобы имя не было словом в любом языке, включая распространённые имена собственные, а также записанные латиницей русские слова. В этом случае адрес может быть угадан путём перебора слов и комбинаций по словарю.
  • Можно время от времени менять свой адрес, но это связано с очевидными трудностями: нужно сообщить новый адрес людям, от которых хотелось бы получать почту.
  • Компании часто не публикуют свой адрес, вместо этого используя CGI для связи с пользователями.

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

Фильтрация [ | ]

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

Автоматическая фильтрация [ | ]

Авторизация почтовых серверов [ | ]

Были предложены различные способы для подтверждения того, что компьютер, отправляющий письмо, действительно имеет на это право (

Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

Подписаться

Спам-фильтр – это программное обеспечение, с помощью которого автоматически определяются нежелательные письма.


Больше видео на нашем канале - изучайте интернет-маркетинг с SEMANTICA

Как работают спам-фильтры почты

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

Иван Петрович увлекался рыбалкой. Однажды он посетил сайт с хорошим рыболовным ассортиментом по приемлемым ценам. И он решил подписаться на обновления его товарного ряда. В форме подписки его попросили проверить получение информации о подписке. Но на почте её не оказалось. Согласно указаниям на сайте следовало проверить папку «Спам» и в соответствии с инструкцией перенести отправителя в белый список.

Сообщение действительно оказалось в указанной папке, потому что содержало призыв «Купить по низким ценам». А данное словосочетание было указано в перечне слов, который спам-фильтр почтового сервера не пропустил, и отправил в папку с нежелательной почтой.

Метод работы спам-фильтров

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

Различают два вида нежелательных писем:

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

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

Работа спам-фильтров основывается на многих разных принципах. Основные из них проходят проверку на основании анализа отправленного письма, изучении данных самого отправителя и серых списков.

Анализ отправленного письма

Исследуется содержимое каждого сообщения. Идёт проверка на наличие спам-слов, проверяется оформление и смысл текста. Если в нём содержатся данные из запретного перечня, оно считается нежелательным и отправляется в папку «Спам». Однако благодаря сервисом. позволяющим обойти спам-фильтры, такие сообщения могут с легкостью попасть во «Входящие».

В таких случаях почтовые серверы предусмотрели возможность получать обратную связь от получателя, предоставив ему возможность самому определить полученную информацию как спам. Это даёт возможность обновлять чёрный список.

Изучение данных самого отправителя

Существует перечень данных с IP-адресами компьютеров, которые были замечены в отправке нежелательной информации. Через службу DNS делается обращение по каждому IP-адресу, чтобы узнать, находится он в чёрном списке или нет.

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

Серые списки

Принцип работы серых списков, заключается в протоколе SMTP. С его помощью отправленное сообщение отклоняется и направляется ответное извещение с ошибкой. Серверы спамеров за это время задержки попадают в перечень отправителей с плохой репутацией и не имеют возможности отправить подтверждающий e-mail.

Как обойти спам-фильтры при рассылке

  • Не используйте в тексте спам-слова: «дополнительный доход», «дешево», «купить», «деньги».
  • Избегайте слов, написанных большими буквами, особенно, в теме сообщения.
  • Не злоупотребляйте восклицательными знаками.
  • Не используйте явных призывов к действию.
  • Не используйте яркие цвета и пишите обычным чёрным шрифтом.
  • HTML письма должен соответствовать тексту.
  • Осуществляйте отправку в одно и то же время с одинаковой периодичностью.
  • Укажите в тексте свои данные, чтобы читатель мог вам ответить.
  • Отправляйте информационные письма только тем, кто на них подписался.
  • Убедитесь, что отправка осуществляется на существующие адреса, для этого запросите от подписчика подтверждение почтового адреса.
  • Ведите свою рассылку используя почту с именем своего домена..com
  • Напишите получателю инструкцию, чтобы он проверил вас в папке «Спам» и перенёс вас в папку «Входящие».
  • Работайте с проверенными почтовыми сервисами.
  • В некоторых сервисах есть возможность предварительной проверки вашего сообщения спам-фильтрами. Проверьте письмо и будьте уверены, что оно дойдет до вашего адресата.

Чем больше ваш e-mail будет иметь признаков простого сообщения, тем выше будет вероятность его получения вашим адресатом.

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

Почему не сделать бота, который чистит почту, тем более спам четко виден по некоторым признакам?
Вот что я выделил, что в моих глазах спам:
- всё написано в верхнем регистре
- сообщения, где главная мысль: порнуха, знакомства, казино, деньги и т.д.
- если кто-то регулярно высылает почту и я её не прочитываю

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

Тут будут только идеи и информация для ума. И для тех кто хочет поставить свой фильтр, уже будет фундамент.

Начинаем...
Про то как настроить imap php есть куча статей, их можно поискать. У меня Ubuntu, я этот вопрос решил за пару минут и немного изменение в настройках.

Когда вы уже настроили imap можно его подключать.
//настройки для подключениея к почте
$imapaddress = "{imap.gmail.com:993/imap/ssl}";
$imapmainbox = "INBOX";
$maxmessagecount = 10;
$user="имя почты на gmail без @gmail.com";
$password="длинный и сложный пароль";

//наша функция, которая удаляет спам
spam_delete($imapaddress, $imapmainbox, $user, $password, $maxmessagecount);

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

Вероятность=количество слов всего в письме / слова, которые не прошли фильтр

Вот как это всё в коде:
function spam_delete($imapaddress, $imapmainbox, $imapuser, $imappassword, $maxmessagecount)
{
$imapaddressandbox = $imapaddress . $imapmainbox;

//открываем соединение с почтой
$connection = imap_open ($imapaddressandbox, $imapuser, $imappassword)
or die("Can"t connect to "" . $imapaddress .
"" as user "" . $imapuser .
"" with password "" . $imappassword .
"": " . imap_last_error());

Echo "Gmail information for " . $imapuser ."";

Echo "Inbox headers\n";
$headers = imap_headers($connection)
or die("can"t get headers: " . imap_last_error());

//считаем кол-во почты на сайте, максимум мы 10 можем вывести
$totalmessagecount = sizeof($headers);

Echo $totalmessagecount . " messages";

If ($totalmessagecount<$maxmessagecount)
$displaycount = $totalmessagecount;
else
$displaycount = $maxmessagecount;

Echo "Message bodies\n";
//заходим в письмо берем содержание и проверяем на спам
for ($count=1; $count<=$displaycount; $count+=1)
{
$body=imap_fetchbody($connection,$count,"2");
//разбиваем всё письмо на слова
$text=explode(" ",$body);
$spam=0;
//подсчитываем кол-во слов
$n=count($text);
for ($i=0;$i<$n;$i++) {
$spam+=test_spam($text[$i])==1:1?0;
}
//смотрим какая вероятность, что это спам
// мы кол-во слов делим, на возможные слова,
//которые подтверждают, что это спам
$result=$n/$spam;
//если 50% что это спам, то удаляем
if ($result>0.5) {
imap_delete($connection,$count);
imap_expunge($connection);
}
}
//закрываем imap
imap_close($connection);
}

Алгоритм проверки на спам очень простой, он написан для примера. Если вы хотите написать более сильный и умный алгоритм советую почитать некоторые главы про спам в книге «Программируем коллективный разум», .

Алгоритм выполняет два действия:
1. Определяет слова, которые чаще всего встречаются в спаме
2. Проверяет на регистр, если всё в в верхнем, то это скорее всего спам.

Сам код:
//функция проверки на спам
function test_spam ($string) {
//этапы фильтра
//проверяем по ключевым словам
$array=array("порно" => 1, "знакомства" => 1, "казино" => 1, "купить" => 1);
if ($array[$string]==1) {return 1;}
//не находится ли он в верхнем регистре
if (strtolower($string)!==$string) {
return 1;
}
return 0;
}
?>

Протестировал на двух примерах, то вроде работает...

P.S. Будет очень рад услышать как вы боритесь с мусором. Если вы найдете ошибке в коде сильно не ругайтесь это только пример и фундамент для разработки чего-то большего.

Спам-фильтр - это программа, которая настроена на обработку и фильтрацию поступающей почты на сервер по определенным параметрам: IP адрес, стоп - слова в тексте письма и регулярные выражения, особенности технических заголовков и т.д.
Каждый крупный почтовый сервис (Рамблер, Яндекс-почта, Майл.ру...) фильтрует письма на предмет спама, но все же достаточно большое количество нежелательных писем проходят сквозь спам фильтры незамеченными. Почему это происходит, и как правильно настроить свой почтовый ящик, чтобы этого избежать вы узнаете в этой статье.

Что такое спам
Спам (spam) - это нежелательная реклама, рассылаемая против воли получателя. Началом бума спама в Рунете можно считать начало 2000-х годов, когда начал очень активно развиваться отечественный сегмент сети Интернет. У спама очень много разновидностей - почтовые спам-рассылки, флуд гостевых книг, форумов и досок объявлений, ICQ спам и пр. В каждом конкретном случае, применяют свои способы защиты от нежелательных сообщений.
В этой статье будут рассмотрены все основные аспекты почтового (e-mail) спама и защиты от него.

Спам-фильтр – это защита от рекламы ?
Действительно в настоящее время на любой почтовой службе применяются те, или иные спам-фильтры. Кроме того, существует множество антиспам-плагинов к популярным почтовым программам The Bat, Outlook Express и другим. Но в тоже время спам, все с новой и новой силой летит в наши ящики. Но самое плохое, на мой взгляд, в другом. Дело в том, что в результате беспощадной борьбы со спамерами иногда теряются многие нормальные письма, которые иногда могут быть очень важны. Именно проблема с доставкой важной почтовой корреспонденции побудила меня на написание данной статьи, и надеюсь, поможет уменьшить поток на ваш ящик всякого мусора, и соответственно уменьшит количество потерянных важных писем.

Как работает спам-фильтр .
Антиспам фильтры работают по различным алгоритмам, но главное у всех одно – это анализ письма при его получении по определенным признакам. Все рекламные письма от спамеров написаны по шаблону. Ведь не будет же спамер писать каждое письмо вручную, когда у него база e-mail на 1 млн., или более адресов. И стоит ему запустить рассылку (мгновенно такой объем писем не пошлешь), а первым получателям его писем пожаловаться на спам, то данная рассылка будет сразу занесена в блек-лист, и все последующие письма будут отсечены антиспам фильтрами, использующими эту систему. Это так называемые системы раннего оповещения, которые позволяют блокировать спамера на ранней стадии рассылки.
Другой способ основан на более детальном изучении письма, и выявлении в нем признаков спам-рассылки. Если письмо изобилует словами: Реклама, уникальное предложение, купить, скидки, распродажа... и т.д. То данное письмо будет однозначно помечено как подозрительное. Письмо может содержать несуществующий адрес отправителя, что легко проверить, или адрес может быть в черном списке. Вместо текста может быть картинка с размещенной рекламой. Нормальные письма, как правило, содержат не большой размер текста. А письма от создателей разного рода пирамид содержат большой размер информации, где указано что, где, как и для чего вам нужно купить часть от некой чудо-программы, и так далее в этом духе.

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

Мораль – решение о принадлежности письма к спаму принимает программа, а не человек. А программе не свойственно одно качество – искусственный интеллект, а поэтому все спам фильтры при желании можно легко обойти, или говоря проще, обмануть.

Как обойти спам-фильтр? Легко!
И тем не менее обойти антиспам системы не просто, а очень просто. В подтверждение тому тот факт, что проблема спама по-прежнему актуальна. Принять 100% верное решение о том нужно это письмо, или нет, может только один человек! И этот человек получатель письма. Действительно, а вдруг человек подписан на рекламную рассылку от какой-нибудь компании. Но это все полемика, а теперь факты. Раз письмо фильтруется антиспам системами по тому, или иному признаку, то спамеру достаточно составить «безобидное» письмо, т.е. письмо максимально похожее на обычное (нужное получателю). Выражение: «Краткость – сестра таланта» здесь очень уместно. Чем короче будет письмо, тем труднее в нем выделить детали, характерные для спама.
Надо максимально минимизировать содержание рекламных слов в письме, а оставшиеся видоизменить. Слово «Реклама» можно написать так:
Р е к л а м а (пробелы между буквами), Р-е-к-л-а-м-а (буквы через тире), Рeклaмa (здесь русские буквы «е» и «а» заменены на аналогичные латинские). Как видите вариантов много, для человека любое слово будет иметь смысл «Реклама», а вот многие антиспам системы этого не поймут.
Что касается обхода аниспам систем работающих по принципу раннего обнаружения спамерской рассылки, то сдесь достаточно заранее составить пару десятков разных шаблонов, и после каждой рассылки 100 тыс. писем менять шаблон письма, домен и e-mail отправителя. Этот подход широко используется в спам-бот сетях (сеть из зараженных пользовательских компьютеров).

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

Почему не сделать бота, который чистит почту, тем более спам четко виден по некоторым признакам?
Вот что я выделил, что в моих глазах спам:
- всё написано в верхнем регистре
- сообщения, где главная мысль: порнуха, знакомства, казино, деньги и т.д.
- если кто-то регулярно высылает почту и я её не прочитываю

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

Тут будут только идеи и информация для ума. И для тех кто хочет поставить свой фильтр, уже будет фундамент.

Начинаем...
Про то как настроить imap php есть куча статей, их можно поискать. У меня Ubuntu, я этот вопрос решил за пару минут и немного изменение в настройках.

Когда вы уже настроили imap можно его подключать.
//настройки для подключениея к почте
$imapaddress = "{imap.gmail.com:993/imap/ssl}";
$imapmainbox = "INBOX";
$maxmessagecount = 10;
$user="имя почты на gmail без @gmail.com";
$password="длинный и сложный пароль";

//наша функция, которая удаляет спам
spam_delete($imapaddress, $imapmainbox, $user, $password, $maxmessagecount);

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

Вероятность=количество слов всего в письме / слова, которые не прошли фильтр

Вот как это всё в коде:
function spam_delete($imapaddress, $imapmainbox, $imapuser, $imappassword, $maxmessagecount)
{
$imapaddressandbox = $imapaddress . $imapmainbox;

//открываем соединение с почтой
$connection = imap_open ($imapaddressandbox, $imapuser, $imappassword)
or die("Can"t connect to "" . $imapaddress .
"" as user "" . $imapuser .
"" with password "" . $imappassword .
"": " . imap_last_error());

Echo "Gmail information for " . $imapuser ."";

Echo "Inbox headers\n";
$headers = imap_headers($connection)
or die("can"t get headers: " . imap_last_error());

//считаем кол-во почты на сайте, максимум мы 10 можем вывести
$totalmessagecount = sizeof($headers);

Echo $totalmessagecount . " messages";

If ($totalmessagecount<$maxmessagecount)
$displaycount = $totalmessagecount;
else
$displaycount = $maxmessagecount;

Echo "Message bodies\n";
//заходим в письмо берем содержание и проверяем на спам
for ($count=1; $count<=$displaycount; $count+=1)
{
$body=imap_fetchbody($connection,$count,"2");
//разбиваем всё письмо на слова
$text=explode(" ",$body);
$spam=0;
//подсчитываем кол-во слов
$n=count($text);
for ($i=0;$i<$n;$i++) {
$spam+=test_spam($text[$i])==1:1?0;
}
//смотрим какая вероятность, что это спам
// мы кол-во слов делим, на возможные слова,
//которые подтверждают, что это спам
$result=$n/$spam;
//если 50% что это спам, то удаляем
if ($result>0.5) {
imap_delete($connection,$count);
imap_expunge($connection);
}
}
//закрываем imap
imap_close($connection);
}

Алгоритм проверки на спам очень простой, он написан для примера. Если вы хотите написать более сильный и умный алгоритм советую почитать некоторые главы про спам в книге «Программируем коллективный разум», на Хабре про неё тоже писали .

Алгоритм выполняет два действия:
1. Определяет слова, которые чаще всего встречаются в спаме
2. Проверяет на регистр, если всё в в верхнем, то это скорее всего спам.

Сам код:
//функция проверки на спам
function test_spam ($string) {
//этапы фильтра
//проверяем по ключевым словам
$array=array("порно" => 1, "знакомства" => 1, "казино" => 1, "купить" => 1);
if ($array[$string]==1) {return 1;}
//не находится ли он в верхнем регистре
if (strtolower($string)!==$string) {
return 1;
}
return 0;
}
?>

Протестировал на двух примерах, то вроде работает...

P.S. Будет очень рад услышать как вы боритесь с мусором. Если вы найдете ошибке в коде сильно не ругайтесь это только пример и фундамент для разработки чего-то большего.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: