Postfix оказался и вправду попроще exim и при этом почти приемлемых возможностей. (Пока что вещь, которой мне не хватает, это ACL, выбирающие по более, чем одному параметру): в то время, как за 6 часов глубокого обкуривания, я только кое-как начал въезжать в основные принципы работы exim, с postfix я за 8-12 часов уже сваял осмысленную конфигурацию (которая пропускает порядка 10 спаммерских писем в день из потока средней силы 1 письмо в минуту).
Но всё равно, бардак.
Всем всегда от MTA нужно одно и то же (ну, в пределах 3-4 конфигураций, тут я соглашусь с дебконфом... Хотя скорее всё-таки не 3-4, а 10-15, может, даже). И для каждого MTA не то, что не дают готовых настроек по умолчанию (с тремя-четырьмя полями, в которые нужно вбить значения), а ещё и в документации всячески обходят тему стороной, всегда пишут: "туда не ходи, там снег башка; кое-где есть светлое будущее, но мы вам не скажем".
По-моему, сейчас MTA (в любом виде, если предполагается слушание 25-го порта) должен из коробки иметь:
* набор sanity-checks, которые работают против спама, среди которых:
** защиту от обращений по user@IP, кроме необходимых (вроде как) postmaster@ и abuse@
** проверки осмысленности данных в SMTP-сессии (типа того, что recceiver должен быть fqdn для удалённой почты)
** проверки полноты SMTP-сессии (против торопливых вирусных спаммеров)
** проверки подделки адресов под известных провайдеров
* опционально (но в виде галочки при настройке) фильтрацию по нескольким наиболее доверенным блэклистам
* опционально (но в виде галочки при настройке) поведенческую фильтрацию, среди которой
** реакция на большое количество запросов с одного адреса (на меня такого вида атак, вроде, не приходилось, но такая защита тоже должна быть)
** реакция на большое количество запросов с одного адреса без ответов на него - тут можно оперировать гораздо меньшими количествами запросов и гораздо большими временными интервалами и всё равно смело автоматически отправлять в блэклисты.
** вайтлистинг известных контактов. Вот это вообще никто никогда не делает и готовых решений, кажется, и вовсе нету. Некоторые (tmda) делают временные адреса, это ещё куда бы ни шло, но, впрочем, тоже весьма сомнительный подход. И я не просто так внёс этот пункт в "поведенческую фильтрацию", потому, что определение известных контактов не очень простая штука. Но двух писем в одну сторону и двух писем в другую сторону с правильно соотносящимися message-id заведомо должно быть достаточно, чтобы завайтлистить как минимум пару sender+ISP или sender+receiver.
* совсем другой комплект проверок и ограничений на локальную исходящую почту
И много чего я забыл.
А беда в том, что как-то я и не вижу никого, кто бы на базе существующих MTA или нового чего пытался подобное сделать (дебиановские потуги на тему exim, по-моему, идут в совсем другую сторону).
PS. Но копаться во всякой борьбе со спамом, тем не менее, весело.