Links to Implementations and Information
To contact me about this project, you may send email to me at
eharris@puremagic.com.
But, if the contact concerns using software implementing the idea,
or ways of enhancing the method, the mailing lists might be more
appropriate.
If you are aware of any implementations not listed here, please contact me at
the above email address with a url and a short description, so it can be included
here.
Whitepaper Translations:
French - https://web.archive.org/web/20050829203419/http://www.ba-cst.com/technique/Greylisting/ (Internet Archive)
French - https://web.archive.org/web/20181118134250/http://sebastien.nameche.fr/spam/greylisting/french.html (Internet Archive)
Sendmail:
My (Evan Harris') example implementation (also used for the inital testing) is called relaydelay, and is
available from the Downloads link.
Source code, including unreleased development versions of relaydelay are available from github at
https://github.com/eharris/greylisting.
Morris Maynard has written some very helpful installation instructions for the relaydelay sendmail milter. His pages are at
https://web.archive.org/web/20130312110646/http://www.maynidea.com/sendmail/relaydelay.html. (Internet Archive)
Ian Ballantyne has written a very informative installation guide for the relaydelay sendmail milter. His docs are at
https://web.archive.org/web/20160610063733/http://midori.shacknet.nu/OpenSourceProjects/Setting_up_Greylisting_with_Sendmail_v1.2.html. (Internet Archive)
Chris Paul has notes about using the example implementation under OpenBSD 3.4 at
https://web.archive.org/web/20090924022534/http://www.sfobug.org/meeting_notes/chris_paul/greylist_openbsd.html. (Internet Archive)
Jose Marcio Martins da Cruz has written a native sendmail milter (in C) that uses a modified version of Greylisting that is
designed to reduce the required resources to scale for higher mail volumes. More info at
https://web.archive.org/web/20090106011115/http://www.j-chkmail.org/wiki. (Internet Archive)
Emmanuel Dreyfus has written an implementation of greylisting in standalone C/sendmail
milter that does not require perl or an external database.
His project is at http://hcpnet.free.fr/milter-greylist/.
Anthony Howe has an alternative Sendmail C based milter that supports
the Sendmail access database (Berkeley DB) for white-listing. Further
details at http://www.snertsoft.com/sendmail/milter-gris/ (Originally at http://www.snert.com/Software/milter-gris/)
Other useful milters are also available at http://www.snertsoft.com/
S. Moonesamy has written a milter called scam-grey which uses passive OS fingerprinting to detect windows based hosts,
and if so, to subject the sending hosts to greylisting. The scam-grey milter webpage is at
http://www.elandsys.com/scam/
smf-grey is a C-based Sendmail milter that uses the QDBM database for whitelisting and greylisting.
More info at https://web.archive.org/web/20120424080811/http://smfs.sourceforge.net/smf-grey.html (Internet Archive)
Exim:
Martin Dempsey has developed a Greylisting implementation for Exim 4.x. It is available at
http://www.digitaleveryware.com/projects/greylisting/
William Blunn has developed an implementation in C++ using a MySQL database backend.
It was developed for use with Exim 4 using an ACL rule rather than local_scan() and therefore works with the
vanilla build of Exim 4 and does not require any special patches or extensions. But since it is implemented
as a freestanding executable, it should be able to be used with any MTA that supports calling out to an external program.
The implementation also includes outgoing message processing. See:
http://sourceforge.net/projects/bagley/
Tor Slettnes has developed a python implementation that is self contained and does not depend on an external database.
It works with any version of Exim and does not require any special patches or extensions to Exim. It is invoked via
a Exim ACL rule rather than local_scan() or other interface. There is not yet a project page, but it is a package
in Debian. See http://packages.debian.org/unstable/mail/greylistd
Marc Merlin has a new implementation using Spamassassin with Exim. There's documentation for it at
http://marc.merlins.org/linux/exim/files/sa-exim-cvs/README.greylisting.
The base link is here
and a diff is here.
Alun Jones has created a perl filter for Exim that is in use at the University of Wales. His page at
http://users.aber.ac.uk/auj/spam/ has links to source and
a nice Powerpoint presentation that has a graph of the method's effectiveness.
Tollef Fog Heen has an in-Exim implementation using PostgresSQL. Information on it is at
https://web.archive.org/web/20080905173509/http://raw.no/personal/blog/tech/Debian/2004-03-14-15-55_greylisting (Internet Archive)
Johannes Berg has an implementation for Exim 4 at
http://johannes.sipsolutions.net/Projects/exim-greylist
An unidentified person has another implementation for Exim and Mysql, based on Tollef's implementation. Info is at
https://web.archive.org/web/20060206233800/http://theinternetco.net/projects/exim/greylist (Internet Archive)
Qmail:
Martin Dempsey has developed a Greylisting implementation for Exim 4.x that should also work with Qmail. It is available at
http://www.digitaleveryware.com/projects/greylisting/.
Peter Conrad has an alpha-level implementation available at
http://www.unix-ag.uni-kl.de/~conrad/greylisting/README.html
Jon Atkins has a simplified perl implementation at
https://web.archive.org/web/20050904201110/http://www.jonatkins.com/qgreylist/. (Internet Archive)
Rob Bos has adapted Jon Akins qgreylist to use a mysql backend. More info at
http://novylen.net/~rbos/qgreylist/.
Sirko Zidlewitz has enhanced a version of Jon Atkins implementation. It is available at
https://web.archive.org/web/20080930065752/http://www.datenklause.de/en/software/qgreylistrbl.html. (Internet Archive)
Zaid Amireh has developed a C-based implementation of a sender-IP only version of Greylisting that is targeted at higher
volume servers. Information on it is available at
https://web.archive.org/web/20171203193115/http://oss.albawaba.com/cqgreylist.html. (Internet Archive)
Guenther Mair has developed a patch for Qmail called qmail-greylist-pgsql that implements Greylisting using a PostgreSQL database.
More info at http://qgreylist-pgsql.sourceforge.net/.
Thomas Mangin has made a new implementation for Qmail.
More info at https://web.archive.org/web/20070825064326/http://thomas.mangin.me.uk/software/qmail-greylist.html. (Internet Archive)
Qpsmtpd:
Gavin Carr has implemented a greylisting plugin for Qpsmtpd
(a perl based replacement for qmail-smtpd). The plugin is available at
http://www.openfusion.com.au/labs/dist/denysoft_greylist.
Postfix:
Wietse Venema (author of Postfix) has made modifications to Postfix to support a form of Greylisting. Information
on it is available at http://www.postfix.org/SMTPD_POLICY_README.html#greylist.
David Schweikert has written a perl based enhancement for the Postfix policy server. Information is available from
http://isg.ee.ethz.ch/tools/postgrey/
Salim Gasmi has written a C based implementation of Greylisting for Postfix. It is available from
http://www.gasmi.net/gld.html
Michael Moritz has another Postfix implementation, written in C/C++ and using DBI/Mysql. It is available from
https://web.archive.org/web/20190404204024/http://mimo.gn.apc.org/gps/ (Internet Archive)
Sean Reifschneider has released tumgreyspf, an external policy checker for Postfix, implementing both greylisting checks
and spf checks, and using the local filesystem for the database rather than having an external dependency. More info
is available at
http://www.tummy.com/Community/software/tumgreyspf/
Kyle Lanclos maintains Grappy, a high performance policy server for Postfix written in Python and using either PostgreSQL
or MySQL as a storage backend. It is available from
https://web.archive.org/web/20160404094830/http://grappy.lanclos.org/ (Internet Archive)
Squirrelmail:
Jason Frisvold has written a plugin for Squirrelmail. It is available from
https://web.archive.org/web/20061129025347/http://www.godshell.com/toaster/ (Internet Archive)
Microsoft Exchange/IIS:
Chris has written Greylist, a free plugin for Microsoft Exchange 2003 (should work on 2000 as well).
It also has limited support for IIS SMTP. More info at http://www.grynx.com/projects/greylist/
Mail Proxies:
Graham Toal is working on a man-in-the-middle mail relay daemon implementing Greylisting
(among other things). The code is at
http://www.gtoal.com/spam/smtpfilter.c.
A nice html version is here.
David Parsons has written a simple mailserver and client using greylisting. His page is at
http://www.pell.portland.or.us/~orc/Code/postoffice/.
David Given has written a mail proxy called spey. It is hosted at Sourceforge. Here is the
spey homepage. (Originally at http://spey.sourceforge.net/)
Anti-SPAM SMTP Proxy Server (ASSP) is a very featureful proxy project hosted at Sourceforge. Here is the
ASSP Sourceforge Page.
Others:
Vernon Schryver has added a form of Greylisting to the Distributed Checksum Clearinghouse (DCC). More info is at
http://www.rhyolite.com/anti-spam/dcc/greylist.html
Jonas Eckerman has modified MIMEDefang to include a form of Greylisting. More info at
https://web.archive.org/web/20120319052706/http://whatever.frukt.org/mimedefang-filter.shtml (Internet Archive)
OpenBSD 3.5 appears to support greylisting "out of the box" with the use of spamd. Here is the
online manual page for spamd.
Davide Libenzi has a C-based implementation using GDBM called GLST that works with XMail or with other MTA's.
More info is available at http://www.xmailserver.org/glst-mod.html
Articles on Greylisting
Greylisting has a Wikipedia entry.
David Schweikert has an article on Greylisting that was published in the November 2004 issue of the swiss magazine InfoWeek.ch.
A PDF of the article is available here. (Internet Archive)
(Article is in German)
Articles and Howto's including Greylisting
James has written a HOWTO on setting spamd up under OpenBSD 3.5 at
https://web.archive.org/web/20070607194511/http://www.elwood.net/greyspamd.html (Internet Archive)
Tor Slettnes has created a paper titled "Spam Filtering for Mail Exchangers" which covers several methods of
spam blocking in addition to Greylisting. The page is at
https://web.archive.org/web/20171117162435/http://slett.net/spam-filtering-for-mx/ (Internet Archive)
Greylisting Papers and Research
A group from HP Labs in Bristol produced and presented a paper at Usenix 2004 that takes some of the ideas
from Greylisting and turns it into a mail prioritization scheme. Although some of the statistics in the
paper regarding false positives of Greylisting are significantly inflated due to neglecting to exempt the data
during the training phase from the analysis, it still presents some interesting information.
The paper is available here:
http://www.hpl.hp.com/techreports/2004/HPL-2004-5R1.html
Links to commercial products
Commercial products incorporating varying forms of the greylisting method are becoming pretty widespread. Here are links
to products known to implement some form of Greylisting (please let me know of any corrections or additions).
Please keep in mind that even though commercial products may use some form of Greylisting, there is no requirement
for them to contribute anything back to this project. However, some have been kind enough to do so. Those that are
known to have made a significant donation to this project have been moved to the top of the list.
Contributing Commercial Products
Mirapoint offers a range of ready-to-go email appliances that offer many advanced filtering techniques.
For technical or sales information, please visit their website at
http://www.mirapoint.com/
Spam-Zapper offers software incorporating the greylisting method in
several products aimed at different market segments.
Here is their Features List
Other Commercial Products
CanIt Mail Server Software Release Info (Link defunct)
Isode Press Release (Link defunct)
AutumnTECH E-Mail Appliances
Aloaha E-Mail Software
Tummy.com has a mail server integration product called vPostMaster that is free for non-commercial use. Here is
the vPostMaster product page
DerbyTech sells a hardware based product called CipaFilter that includes greylisting as
an important component on their features list. (Link defunct)
Vamsoft ORF (Link defunct) is a commercial server-side spam filter for the
Windows 2000/2003 IIS SMTP Service and Microsoft Exchange 2000/2003.
no.Spam.java (Link defunct) is a commercial java based smtp proxy filter
with anti-spam capabilities.
trimMail (Link defunct) sells the trimMail Inbox email security appliance, which incorporates
a form of Greylisting.
MDaemon is a mail server product that incorporates several anti-spam techniques,
including Greylisting.
XWall is a firewall/spamfilter product for Microsoft Exchange.
Links to other spam blocking/filtering projects
The DSPAM Project
|