Postgrey is a policy server designed for Postfix that uses greylisting to reduce spam. It was created by David Schweikert at the ISG.EE and helps prevent unwanted emails from reaching your inbox.
One of the features that set Postgrey apart from other software is its safe database. Greylist.pl has issues with database lock, which might get corrupted after a while. Postgrey uses the logging and transaction features of BerkeleyDB to ensure maximum reliability. With only one process running, the risk of corrupting the database is further reduced.
Postgrey also offers automatic maintenance by keeping track of the first and last time a given triplet was seen. Entries that were last seen more than a specified amount of time ago (such as one month) are removed automatically. It also has per-client and per-recipient whitelists, including a client whitelist with all known broken mail-servers.
Addresses are normally stripped of their last byte, so that mail servers with multiple addresses are recognized as only one. Clients that repeatedly show they can pass the greylist are automatically added to a "clients whitelist" for which no greylisting occurs anymore.
To run Postgrey, you need the following requirements: Perl (version > 5.6.0), Net::Server, IO::Multiplex, BerkeleyDB (Perl module), and Berkeley DB (Library, version ≥ 4.1).
The latest version of Postgrey has an improved logging format, and an important workaround for problems of exchange in dealing with greylisted email messages has been implemented. The whitelist has been updated, Exim support has been improved, and a greylist pre-seeding tool has been added. Overall, Postgrey is an excellent software that is reliable and efficient in reducing spam and viruses.
Version 1.28: N/A