- Информация о материале
-
Категория: LRC milter
-
Опубликовано: 21.09.2007, 06:30
-
Автор: DukeSS
-
Просмотров: 5483
Представляю вниманию почтовый фильтр для sendmail (milter), предназначенный для проверки наличия локальных (обслуживаемых почтовым сервером) почтовых адресов отправителей и получателей. Фильтр достаточно тривиален и работает с СУБД PostgreSQL.
Принцип работы:
На этапе получения заголовка письма фильтр анализирует домены отправителя и получателей (через mailertable). Если адреса из чужих доменов, то сообщение пропускается дальше. В противном случае фильтр проверяет наличие адресов в базе данных. При их отсутствии соединение разрывается без приёма тела письма.
Пока что фильтр показал себя достаточно надёжным средством недопущения вторичного спама и работает уже три недели без вмешательства во внутреннюю жизнь (не Бог весть что, но уже показатель).
Документации в настоящее время, кроме комментариев в тексте программы, нет.
Лицензия - GPL 2 .
Скачать фильтр можно здесь: lrc-milter-0.23.tar.bz2
- Информация о материале
-
Категория: LRC milter
-
Опубликовано: 19.09.2007, 09:02
-
Автор: DukeSS
-
Просмотров: 6580
Перепечатка заметки месячной давности из блога.
И вновь продолжается бой со спамерами.
Решил прикрутить проверку на правильность адресов локальных получателей, для чего в наличии есть несколько способов:
- Написать правила фильтрации самому (я попробовал. Ругани не было, но правила не работали - то ли запихнул не в то место конфигурационного фоайла sendmail, то ли ещё что)
- Воспользоваться набором штепселей и затычек "Real Time Cyrus Integration Version 2". Штука заработала, но для того, чтобы она ещё проверяла и на наличие псевдонимов, надо было делать много лишних телодвижений. Лень.
- Найти и собрать фильтр milter-ahead. Оказался сложен (то есть - не для ленивых) в сборке, не умеет, опять же, проверять псевдонимы. По пунктам 2,3 невозможность проверки, возможно, связана с тем, что у меня БД пользователей и псевдонимов хранится в PostgreSQL.
- Для велосипедистов.
Собственно, поступил четвёртым способом: взял и написал свой фильтр, который делает всё, что нужно. Сейчас он проходит тестирование, но уже показал свою эффективность - количество вторичного спама резко упало. Да и нагрузка на спаморезку снизилась за счёт отлупа на этапе передачи адреса получателя. Фильтр заточен под набор патчей для sendmail, обеспечивающих работу с СУБД PostgreSQL, хотя ничто не запрещает использовать его и отдельно, но это получится множенье сущностей.
Если всё пойдёт нормально - выложу проект в открытый доступ.
П.С. Пока есть бага - примерно через 8 часов начинается дурка с выборкой пользователей из таблицы.