xy Смотря какой MTA тебя интересует...;)
Сей топик про sendmail - самый дырявый MTA... рекомендуется использовать Postfix или Exim... Qmail увы не подходит на роль secure MTA, т.к. для того чтобы Qmail довести до должного уровня, необходимо наложить кучу патчей, которые между собой не совместимы...
И так про Qmail, даю прямую ссылку.... что и как делать +антиспам, антирелей, виртуальные пользователи и антивирусная защита...
http://www.opennet.ru/base/net/qmail_antispam.txt.html В Exim, используются регулярные выражения, а так же RBL, например:
### exim.conf ACL ###
deny message = Invalid domain or IP given in HELO/EHLO
!condition = ${if match{$sender_helo_name}{\\.}{yes}{no}}
....
deny message = host is listed in $dnslist_domain
dnslists = sbl.spamhaus.org : \
relays.ordb.org : \
opm.blitzed.org : \
proxies.blackholes.easynet.nl
....
В Postfix немного отличается от Exim, например:
main.cf:
header_checks = pcre:/etc/postfix/header_checks
body_checks = pcre:/etc/postfix/body_checks
body_checks:
/^From: A L C/ REJECT ALC
/238[- ]*33[- ]*86|778[- ]*98[- ]*94/ REJECT AMERICAN LANGUAGE CENTER
/american (business|language) center/ REJECT AMERICAN BUSINESS CENTER
/http:\/\/64\.237\.41\.196/ REJECT AMERICAN BUSINESS CENTER
/411-*02-*32/ REJECT AMERICAN BUSINESS CENTER
header_checks:
/^From: A L C/ REJECT ALC
/^From: .*american.*language/ REJECT AMERICAN.LANG
/^Subject: .*? {8,100}[a-zA-Z0-9]{8,25}$/ REJECT SPAMRAND
Естественно это только пример, так что в слепую копировать все это не стоит!