писали выше:"Грейлистинг - зло!", задержки в получении почты которые он вызывает просто неприемлимы, а каждому отправителю не будешь говорить, чтобы его сисадмин снизил таймаут переотправки на почтовике.90% нежелательных сообщений можно отбить без грейлиста на стадии установления smtp-сессии, анализируя ip-адрес отправителя, значения helo, mail from, и rcpt to
например в smtpd_client_restrictions можно смело ставить ссылку на файл с таким содержанием
/(modem|dia(l|lup)|dialin|dsl|p[cp]p|cable|pptp|catv|poo(l|les)|dhcp|client|customer|user|[0-9]{6,})(-|\.|[0-9])|rr.com/ 550 Are you spamer?
/([0-9]{,4}\-[0-9]{,4}\-[0-9]{,4}\-[0-9]{,4})/ 550 Are you spamer?
/smtp[0-9]{1,2}\.orange\.fr/ 550 reject
а в smtpd_helo_restrictions например поставить
/^(\d{1,3}\.){3}\d{1,3}$/ REJECT bad RFC2821 hello
также значительная часть спама идет на несуществующих получателей, поэтому такие письма нужно или не принимать или дропать не доводя до антиспама.
что же касается непосредственно фильтрации спама, то почему-то никто не сказал про удаленные проверки типа DCC и RAZOR2, неужто никто не пользуется? всем советую, штука очень эффективная