Месяц назад я попробовал новый почтовик XMail v 1.21 /все в одном
флаконе, smtp, pop3, imap и т.д. http://www.xmailserver.com/ .
Заработало через 5 мин. после подстройки конфига, все достаточно
ясно и прозрачно. Для машины выделил несколько доменов, на которые
из-за особенностей их владельцев сыпалось довольно много спама
/точнее - только спам/.
Основной сервер работает с MTA sendmail и его пока трогать боязно,
т.к. об XMail практически нет никаких отзывов, а которые есть,
часто путают с одноименной программой под X11-unix. Так вот - спам
полился широкой речкой...
Идеи, которые заложены в статье http://linux.ufaras.ru/regex.html
были реализованы уже давно, помогали конечно, но недостаточно.
В xmail есть возможность обрабатывать письма на стадии
соединения - делается это просто: название фильтра включается в
файл filters.pre-data.tab, в котором указывается внешняя программа
обработчик.
Короче, взяв в руки логи, за пару дней написал собственный
фильтр-обработчик писем. За основу был взят тезис, что нормальный
почтовый сервер должен иметь нормальные атрибуты.
а теперь bash и регекспы...конспективно
Фильтру на вход передаются два параметра File=$1 и RemoteAddress=$2
1. Отсекаем локальные адреса
if [ "$RemoteAddress" == "127.0.0.1" ]; then exit; fi
2. Whitelist - список своих левых адресов /правые и так проходят
нормально :-) /