ну опять же - на предмет методов фильтрации, не сочтите за рекламу http://www.ourorbits.org/itview/articles/mailsystem.shtml
- в вашем случае я добавил бы проверку существования отправителя и задержку в начале сессии (greeting pause) - может таки не совсем нормальный почтовик на том конце
- далее имеет смысл добавить контент фильтрацию (например SpamAssassin)после этого у вас несколько вариантов
- использовать внешние списки (никогда бы не рекомендовал, т.к. вы теряете контроль над системой, а желающий нагадить теще администратор списка добавит ее SMTP сервер, или же добавит кого то ошибочно и "положит" на исправление такой ошибки, несмотря на запросы ошибочно добавленного или и т.д.)
- использовать дополнительный фильтр на основе анализа обратного разрешения DNS имен (опять же не советовал бы, т.к. из моего опыта - когда то организовывал почтовики региональных филиалов - многие провайдеры забивают на прописывание обратной зоны и не свегда чешутся, даже если их попросить) - так что вы можете забанить абсолютно честных людей
- отфильтровать к черту письма со всяких косоглазых доменов. .jp на конце адреса отправителя - пошел на ... Это уже зависит от того, нужно ли вам общение с этими людьми. В конторах с интернациональным бизнесом не прокатывает, да и вообще это не панацея
- ну и предлагаемый вариант - организация многоуровневого антиСПАМ стэка и последующая периодическая обработка оставшихся "казуалов" в ручном или как то автоматизированном варианте - ведение черных и белых списков. Тонкость здесь в том, что правильнее анализировать не SMTP адреса отправителей, а их IP адреса, и при наличии большого количества спама с IP проверять, что он есть, и бпнить при возможности
удачи