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

Я использую этот сервис для хостинга DNS, а с недавнего времени и почты. Считаю, что одним из преимуществ крупных почтовых сервисов в том, что они крупные предоставляют отличную защиту ящика от спама (не последнюю роль в этом играют и сами пользователи). Именно это преимущество мы и будем использовать, но для фильтрации почты на нашем сервере.

Здесь описана связка Exchange и «платного анти-спама с истекшим сроком обслуживания», но в принципе данную схему можно применять практически на любой платформе.

Итак, перейдем к делу.

Описание подключения домена к ПДД есть в справке и будем считать, что это условие уже соблюдено.

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



После этого необходимо зайти в веб-интерфейс нашего ящика и проверить ряд настроек:

  • Разрешить подключение к ящику по протоколу POP3;
  • Для возможности самостоятельного управления спамом указать, что хотим забирать и его.




На этом настройка на стороне «Яндекса» завершена и далее нам необходимо настроить наш почтовый сервер, что бы он эту почту забирал.

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

Тут и пригодится старый анти-спам, где закончился срок действия подписки на обновления, но имеется такой модуль.

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

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

Интересующий нас заголовок называется «X-Oborona-Spam-Flag» со значением «YES».



Теперь пришло время создать транспортное правило.

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

Все необходимые параметры правила помещаются на картинке:



На этом этапе настройка завершена и все необходимые условия для работы данного способа соблюдены.

Осталось сказать об особенностях:

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


Хочу отдельно сказать, что вариаций использования может быть множество и данная статья освещает лишь мой частный случай.

Желаю вам успехов в борьбе со спамом, а Яндексу — спасибо за отличный сервис.