Postfix策略服务器-Postgrey
Postgrey 是一个 Postfix 策略服务器,实现了灰名单机制。当请求邮件发送时,就会自动构建 CLIENT_IP/SENDER/RECIPIENT 三联体,如果是首次构建三联体或者是10分钟前构建,那么邮件就会被拒发,并返回临时错误。邮件垃圾发送者就不会再次尝试发送。采用Perl开发并在GPL协议下授权。Postgrey - Postfix Greylisting Policy Server
Postgrey is a Postfix policy server implementing greylisting developed by David Schweikert.

When a request for delivery of a mail is received by Postfix via SMTP, the triplet CLIENT_IP / SENDER / RECIPIENT is built. If it is the first time that this triplet is seen, or if the triplet was first seen, less than 5 minutes ago, then the mail gets rejected with a temporary error. Hopefully spammers or viruses will not try again later, as it is however required per RFC.
Features
Safe database
greylist.pl doesn't lock correctly the database and it might get corrupted after a while (two days mean time for me). Postgrey uses the locking and transaction features of BerkeleyDB to maximize reliability. Additionally only one process is running, thus reducing even more the risk of corrupting the database.
Automatic maintenance
Postgrey does keep track not only of the first time a given triplet was seen, but also the last time. Entries that were last seen more than a defined amount of time ago (one month for example) get removed automatically.
Whitelists
Per-client and per-recipient whitelists. The Postgrey distribution package includes a client whitelist with all (few) broken mail-servers that were identified until now.
Lookup by subnet
Addresses are normally stripped of their last byte, so that mail servers with multiple addresses are recognized as only one.
Auto-whitelisting of clients
Clients which repeatedly show to be able to pass the greylist, are entered in a "clients whitelist", for which no greylisting is done anymore.
最新版本:1.3
该版本支持 Linux 系统上的进程名字大于 15 个字节;更新了默认的白名单。
项目主页:http://postgrey.schweikert.ch/