Ни для кого не секрет, что почтовая служба Gmail является лучшей в своем роде сервисом. Фильтрация писем происходит очень точно. Пользователи этого сервиса давно забыли о таком страшном слове как «Спам».
Среди корпоративного сектора очень актуальна проблема большого количества спам-писем. Для борьбы с данной проблемой приходится приходить к очень неоднозначным мерам. В сети достаточно информации, собрав которую воедино, можно получить неплохой спам-фильтр. В данном же случае, я постараюсь описать процесс обучения всеми известного SpamAssassin средствами сервиса Gmail. В итоге мы получим идентичное поведение самого SpamAssassin на письма, как если бы они приходили к вам на Gmail.
Компания Google, очень трепетно относится к своей интеллектуальной собственности и не раскрывает подробностей работы их почтового сервиса, но можно выйти из ситуации, адаптировав свою почту на манер “корпорации добра”.
Итак, предполагается, что у вас есть почтовый сервер. Настроенный и полностью функционирующий. Прописана PTR и DMARC. Настроен SPF, DKIM и работающий, но не обученный SpamAssassin. Отчасти — этих действий достаточно для того, чтобы в разы уменьшить количество нежелательной корреспонденции, но все же, мы не остановимся на этом.
Для реализации необходимо установить fetchmail:
#apt-get install fetchmail
Эта утилита и будет служить посредником между Gmail и нашим почтовым сервером.
Настройка fetchmail.
Для начала, нам необходимо создать конфигурационный файл:
#touch /root/.fetchmailrc
#vi /root/.fetchmailrc
Со следующим содержимым:
poll imap.gmail.com protocol imap port 993 and options no dns,
user "[vashadres@gmail.com](mailto:vashadres@gmail.com)" options ssl,
password "vashparol",
fetchall,
pass8bits,
nokeep,
folder "[Gmail]/Spam",
mda "/usr/bin/sa-learn --spam"
poll imap.gmail.com protocol imap port 993 and options no dns,
user "[vashadres@gmail.com](mailto:vashadres@gmail.com)" options ssl,
password "vashparol",
fetchall,
pass8bits,
nokeep,
folder "[Gmail]/Important",
mda "/usr/bin/sa-learn --ham"
Важно! Почтовый ящик должен иметь английский интерфейс, т.к. fetchmail имеет проблемы с кириллицей.
С папкой “спам” все ясно, а вот с папкой “INBOX” не все так однозначно. У Gmail ее попросту нет, а при подключении по IMAP мы имеем дело с так называемыми “ярлыками”. Поэтому мы указываем папку “Important”.
Далее, переходим в файл с альясами (у меня установлен Postfix, поэтому я буду приводить пример на его настройке) и указываем форвардинг писем на новосозданный или уже имеющийся адрес Gmail. Рекомендую создать новый, т.к. старый адрес может содержать какие-либо правила из “прошлого”, которые могут неправильно скорректировать SpamAssassin при обучении.
#vi /etc/aliases
Пишем следующее:
почтовый ящик: почтовый ящик, root
vasya: vasya, root
Когда были прописаны все пользователи и пересылкой на пользователя root, то вся эта корреспонденция должна пройти до нашего почтового ящика в Google:
В конце файла альясов мы должны написать:
root: vashadres@gmail.com
Важно! Так необходимо прописать каждый ящик имеющийся в системе. Можно и не пересылать все сообщения на пользователя root, но это в дальнейшем облегчит Вам жизнь.
Сохраняем файл. Готово. Отныне все письма приходящие к пользователям, будут дублироваться на vashadres@gmail.com, который в свою очередь будет грамотно рассортировывать все письма.
Теперь получив достаточное кол-во писем на почтовый ящик от Google, необходимо их промаркировать, чтобы благодаря ярлыкам, письма из папки INBOX, продублировались в папку Important нажав на стрелку рядом с заголовком письма. Она должна окраситься в желтый. Это разовое действие, которое в дальнейшем понадобиться очень редко. Все новые письма, будут помечены как “Важные” и продублированы в необходимую нам папку.
Нам же осталось сказать fetchmail собрать все письма из Google и показать SpamAssassin.
#/usr/bin/fetchmail -f /root/.fetchmailrc -v
Все готово. Пройдя обучение в несколько тысяч писем — будьте уверены, ваша почта будет вести себя так же, как качественный почтовый сервис от Google.
Автор: siferdj