<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<title>Greylisting Links
</title>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1">
<meta name="keywords" content="greylist, spam, control, blocking">
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
<body bgcolor="#FFFFFF" text="#333333" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">
<table border="0" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#666666" ><a href="index.html"><img src="logo.jpg" vspace="10" alt="" width="581" height="58" border="0"></a></td>
</tr>
<tr>
<td valign="TOP" bgcolor="#ffffff">
<table border="0" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td valign="TOP" align="LEFT" bgcolor="#666666" width="150">
<p class="greybox"><a class="boxlink" href="index.html">Home
</a></p>
<p class="greybox"><a class="boxlink" href="whitepaper.html">Whitepaper
</a></p>
<p class="greybox"><a class="boxlink" href="downloads.html">Downloads
</a></p>
<p class="greybox"><a class="boxlink" href="testimonials.html">Testimonials
</a></p>
<p class="greybox"><a class="boxlink" href="mailinglists.html">Mailing Lists
</a></p>
<p class="greybox"><a class="boxlink" href="links.html">Links
</a></p>
<p class="greybox"><a class="boxlink" href="credits.html">Credits
</a></p>
</td>
<td valign="TOP" bgcolor="#666666" width="1">
<img src="vertibar.gif"><br>
</td>
<td width="20"><!-- spacer --></td>
<td valign="TOP"> <!-- content -->
<h2>Links to Implementations and Information
</h2>
<p>
To contact me about this project, you may send email to me at
<a href="mailto:eharris@puremagic.com">eharris@puremagic.com
</a>.
But, if the contact concerns using software implementing the idea,
or ways of enhancing the method, the mailing lists might be more
appropriate.
</p>
<p>
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.
</p>
<h3>Whitepaper Translations:
</h3>
<p>
French -
<a href="http://www.ba-cst.com/technique/Greylisting/">http://www.ba-cst.com/technique/Greylisting/
</a><br>
French -
<a href="http://sebastien.nameche.fr/spam/greylisting/french.html">http://sebastien.nameche.fr/spam/greylisting/french.html
</a><br>
</p>
<h3>Sendmail:
</h3>
<p>
My (Evan Harris') example implementation (also used for the inital testing) is called relaydelay, and is
available from the
<a href="downloads.html">Downloads
</a> link.
</p>
<p>
Development versions of relaydelay are also available from svn at
<a href="http://projects.puremagic.com/web-svn/wsvn/greylisting/">http://projects.puremagic.com/web-svn/wsvn/greylisting/
</a>.
</p>
<p>
Morris Maynard has written some very helpful installation instructions for the relaydelay sendmail milter. His pages are at
<a href="http://www.maynidea.com/sendmail/relaydelay.html">http://www.maynidea.com/sendmail/relaydelay.html
</a>.
</p>
<p>
Ian Ballantyne has written a very informative installation guide for the relaydelay sendmail milter. His docs are at
<a href="http://midori.shacknet.nu/OpenSourceProjects/Setting_up_Greylisting_with_Sendmail_v1.2.html">http://midori.shacknet.nu/OpenSourceProjects/Setting_up_Greylisting_with_Sendmail_v1.2.html
</a>.
</p>
<p>
Chris Paul has notes about using the example implementation under OpenBSD 3.4 at
<a href="http://www.sfobug.org/meeting_notes/chris_paul/greylist_openbsd.html">http://www.sfobug.org/meeting_notes/chris_paul/greylist_openbsd.html
</a>
</p>
<p>
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
<a href="http://j-chkmail.ensmp.fr/">http://j-chkmail.ensmp.fr/
</a>.
</p>
<p>
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
<a href="http://hcpnet.free.fr/milter-greylist/">http://hcpnet.free.fr/milter-greylist/
</a>.
</p>
<p>
Anthony Howe has an alternative Sendmail C based milter that supports
the Sendmail access database (Berkeley DB) for white-listing. Further
details at
<a href="http://www.snert.com/Software/milter-gris/">http://www.snert.com/Software/milter-gris/
</a>
</p>
<p>
Also from Anthony Howe is a Sendmail C based call-back milter
that uses Greylisting as a secondary technique for inconclusive call-backs. Details at
<a href="http://www.snert.com/Software/milter-sender/">http://www.snert.com/Software/milter-sender/
</a>
</p>
<p>
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
<a href="http://www.elandsys.com/scam/">http://www.elandsys.com/scam/
</a>
</p>
<p>
smf-grey is a C-based Sendmail milter that uses the QDBM database for whitelisting and greylisting.
More info at
<a href="http://smfs.sourceforge.net/smf-grey.html">http://smfs.sourceforge.net/smf-grey.html
</a>
</p>
<h3>Exim:
</h3>
<p>
Martin Dempsey has developed a Greylisting implementation for Exim 4.x. It is available at
<a href="http://www.digitaleveryware.com/projects/greylisting/">http://www.digitaleveryware.com/projects/greylisting/
</a>
</p>
<p>
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:
<a href="http://sourceforge.net/projects/bagley/">http://sourceforge.net/projects/bagley/
</a>
</p>
<p>
Roman Festchook is also working on an implementation for Exim. It is at
<a href="http://llab.zhitomir.net/?greylist">http://llab.zhitomir.net/?greylist
</a>
</p>
<p>
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
<a href="http://packages.debian.org/unstable/mail/greylistd">http://packages.debian.org/unstable/mail/greylistd
</a>
</p>
<p>
Marc Merlin has a new implementation using Spamassassin with Exim. There's documentation for it at
<a href="http://marc.merlins.org/linux/exim/files/sa-exim-cvs/README.greylisting">http://marc.merlins.org/linux/exim/files/sa-exim-cvs/README.greylisting
</a>.
The base link is
<a href="http://marc.merlins.org/linux/exim/sa.html">here
</a>
and a diff is
<a href="http://marc.merlins.org/linux/exim/files/sa-exim-cvs/SA-greylisting.diff">here
</a>.
</p>
<p>
Alun Jones has created a perl filter for Exim that is in use at the University of Wales. His page at
<a href="http://users.aber.ac.uk/auj/spam/">http://users.aber.ac.uk/auj/spam/
</a> has links to source and
a nice Powerpoint presentation that has a graph of the method's effectiveness.
</p>
<p>
Tollef Fog Heen has an in-Exim implementation using PostgresSQL. Information on it is at
<a href="http://raw.no/personal/blog/tech/Debian/2004-03-14-15-55_greylisting">http://raw.no/personal/blog/tech/Debian/2004-03-14-15-55_greylisting
</a>
</p>
<p>
Johannes Berg has an implementation for Exim 4 at
<a href="http://johannes.sipsolutions.net/Projects/exim-greylist">http://johannes.sipsolutions.net/Projects/exim-greylist
</a>
</p>
<p>An unidentified person has another implementation for Exim and Mysql, based on Tollef's implementation. Info is at
<a href="http://theinternetco.net/projects/exim/greylist">http://theinternetco.net/projects/exim/greylist
</a>
</p>
<h3>Qmail:
</h3>
<p>
Martin Dempsey has developed a Greylisting implementation for Exim 4.x that should also work with Qmail. It is available at
<a href="http://www.digitaleveryware.com/projects/greylisting/">http://www.digitaleveryware.com/projects/greylisting/
</a>.
</p>
<p>
Peter Conrad has an alpha-level implementation available at
<a href="http://www.unix-ag.uni-kl.de/~conrad/greylisting/README.html">http://www.unix-ag.uni-kl.de/~conrad/greylisting/README.html
</a>
</p>
<p>
Jon Atkins has a simplified perl implementation at
<a href="http://www.jonatkins.com/qgreylist/">http://www.jonatkins.com/qgreylist/
</a>.
</p>
<p>
Rob Bos has adapted Jon Akins qgreylist to use a mysql backend. More info at
<a href="http://novylen.net/~rbos/qgreylist/">http://novylen.net/~rbos/qgreylist/
</a>.
</p>
<p>
Sirko Zidlewitz has enhanced a version of Jon Atkins implementation. It is available at
<a href="http://www.datenklause.de/en/software/qgreylistrbl.html">http://www.datenklause.de/en/software/qgreylistrbl.html
</a>.
</p>
<p>
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
<a href="http://oss.albawaba.com/cqgreylist.html">http://oss.albawaba.com/cqgreylist.html
</a>.
</p>
<p>
Guenther Mair has developed a patch for Qmail called qmail-greylist-pgsql that implements Greylisting using a PostgreSQL database.
More info at
<a href="http://qgreylist-pgsql.sourceforge.net/">http://qgreylist-pgsql.sourceforge.net/
</a>.
</p>
<p>
Thomas Mangin has made a new implementation for Qmail.
More info at
<a href="http://thomas.mangin.me.uk/software/qmail-greylist.html">http://thomas.mangin.me.uk/software/qmail-greylist.html
</a>.
</p>
<h3>Qpsmtpd:
</h3>
<p>
Gavin Carr has implemented a greylisting plugin for
<a href="http://develooper.com/code/qpsmtpd/">Qpsmtpd
</a>
(a perl based replacement for qmail-smtpd). The plugin is available at
<a href="http://www.openfusion.com.au/labs/dist/denysoft_greylist">http://www.openfusion.com.au/labs/dist/denysoft_greylist
</a>.
</p>
<h3>Postfix:
</h3>
<p>
Wietse Venema (author of Postfix) has made modifications to Postfix to support a form of Greylisting. Information
on it is available at
<a href="http://www.postfix.org/SMTPD_POLICY_README.html#greylist">http://www.postfix.org/SMTPD_POLICY_README.html#greylist
</a>.
</p>
<p>
David Schweikert has written a perl based enhancement for the Postfix policy server. Information is available from
<a href="http://isg.ee.ethz.ch/tools/postgrey/">http://isg.ee.ethz.ch/tools/postgrey/
</a>
</p>
<p>
Salim Gasmi has written a C based implementation of Greylisting for Postfix. It is available from
<a href="http://www.gasmi.net/gld.html">http://www.gasmi.net/gld.html
</a>
</p>
<p>
Michael Moritz has another Postfix implementation, written in C/C++ and using DBI/Mysql. It is available from
<a href="http://mimo.gn.apc.org/gps/">http://mimo.gn.apc.org/gps/
</a>
</p>
<p>
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
<a href="http://www.tummy.com/Community/software/tumgreyspf/">http://www.tummy.com/Community/software/tumgreyspf/
</a>
</p>
<p>
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
<a href="http://grappy.lanclos.org/">http://grappy.lanclos.org/
</a>
</p>
<h3>Squirrelmail:
</h3>
<p>
Jason Frisvold has written a plugin for Squirrelmail. It is available from
<a href="http://www.godshell.com/toaster/">http://www.godshell.com/toaster/
</a>
</p>
<h3>Microsoft Exchange/IIS:
</h3>
<p>
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
<a href="http://www.grynx.com/projects/greylist/">http://www.grynx.com/projects/greylist/
</a>
</p>
<h3>Mail Proxies:
</h3>
<p>
Graham Toal is working on a man-in-the-middle mail relay daemon implementing Greylisting
(among other things). The code is at
<a href="http://www.gtoal.com/spam/smtpfilter.c">http://www.gtoal.com/spam/smtpfilter.c
</a>.
A nice html version is
<a href="http://www.gtoal.com/spam/smtpfilter.c.html">here
</a>.
</p>
<p>
David Parsons has written a simple mailserver and client using greylisting. His page is at
<a href="http://www.pell.portland.or.us/~orc/Code/postoffice/">http://www.pell.portland.or.us/~orc/Code/postoffice/
</a>.
</p>
<p>
David Given has written a mail proxy called spey. It is hosted at Sourceforge. Here is the
<a href="http://spey.sourceforge.net/">spey homepage
</a>.
</p>
<p>
Anti-SPAM SMTP Proxy Server (ASSP) is a very featureful proxy project hosted at Sourceforge. Here is the
<a href="http://sourceforge.net/projects/assp/">ASSP Sourceforge Page
</a> and also a link to the
<a href="http://www.iworld.de/homes/fb/ASSP/">Developers page
</a>.
</p>
<h3>Others:
</h3>
<p>
Vernon Schryver has added a form of Greylisting to the Distributed Checksum Clearinghouse (DCC). More info is at
<a href="http://www.rhyolite.com/anti-spam/dcc/greylist.html">http://www.rhyolite.com/anti-spam/dcc/greylist.html
</a>
</p>
<p>
Jonas Eckerman has modified MIMEDefang to include a form of Greylisting. More info at
<a href="http://whatever.frukt.org/mimedefang-filter.shtml">http://whatever.frukt.org/mimedefang-filter.shtml
</a>
</p>
<p>
OpenBSD 3.5 appears to support greylisting "out of the box" with the use of spamd. Here is the
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=spamd&apropos=0&sektion=8&manpath=OpenBSD+Current&arch=i386&format=html">
online manual page for spamd
</a>.
</p>
<p>
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
<a href="http://www.xmailserver.org/glst-mod.html">http://www.xmailserver.org/glst-mod.html
</a>
</p>
<h3>Articles on Greylisting
</h3>
<p>
Greylisting has a
<a href="http://en.wikipedia.org/wiki/Greylisting">Wikipedia entry
</a>.
</p>
<p>
David Schweikert has an article on Greylisting that was published in the November 2004 issue of the swiss magazine InfoWeek.ch.
<a href="http://isg.ee.ethz.ch/publications/papers/IW21_KH_Opensource.pdf">A PDF of the article is available here
</a>.
(Article is in German)
</p>
<h3>Articles and Howto's including Greylisting
</h3>
<p>
James has written a HOWTO on setting spamd up under OpenBSD 3.5 at
<a href="http://www.elwood.net/greyspamd.html">http://www.elwood.net/greyspamd.html
</a>
</p>
<p>
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
<a href="http://slett.net/spam-filtering-for-mx/">http://slett.net/spam-filtering-for-mx/
</a>
</p>
<h3>Greylisting Papers and Research
</h3>
<p>
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:
<a href="http://www.hpl.hp.com/techreports/2004/HPL-2004-5R1.html">http://www.hpl.hp.com/techreports/2004/HPL-2004-5R1.html
</a>
</p>
<hr>
<h2>Links to commercial products
</h2>
<p>
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).
</p>
<p>
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.
</p>
<H3>Contributing Commercial Products
</H3>
<p>
<a href="http://www.mirapoint.com/">Mirapoint
</a> 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
<a href="http://www.mirapoint.com/">http://www.mirapoint.com/
</a>
</p>
<p>
<a href="http://www.spam-zapper.com/">Spam-Zapper
</a> offers software incorporating the greylisting method in
several products aimed at different market segments.
Here is their
<a href="http://www.spam-zapper.com/Features.html">Features List
</a>
</p>
<H3>Other Commercial Products
</H3>
<p>
<a href="http://www.canit.ca/releases.php">CanIt Mail Server Software Release Info
</a>
</p>
<p>
<a href="http://www.isode.com/press/pr-antispam102.html">Isode Press Release
</a>
</p>
<p>
<a href="http://www.AutumnTECH.com/">AutumnTECH E-Mail Appliances
</a>
</p>
<p>
<a href="http://www.aloaha.com/">Aloaha E-Mail Software
</a>
</p>
<p>
Tummy.com has a mail server integration product called vPostMaster that is free for non-commercial use. Here is
the
<a href="http://www.tummy.com/Products/vpostmaster/">vPostMaster product page
</a>
</p>
<p>
<a href="http://derbytech.com/">DerbyTech
</a> sells a hardware based product called CipaFilter that includes greylisting as
an important component on their
<a href="http://cipafilter.com/features.php">Features Page
</a>
</p>
<p>
<a href="http://www.vamsoft.com/orf/">Vamsoft ORF
</a> is a commercial server-side spam filter for the
Windows 2000/2003 IIS SMTP Service and Microsoft Exchange 2000/2003.
</p>
<p>
<a href="http://www.drcc.com/nsj/nsj.nsf/homepage">no.Spam.java
</a> is a commercial java based smtp proxy filter
with anti-spam capabilities.
</p>
<p>
<a href="http://www.trimmail.com/">trimMail
</a> sells the trimMail Inbox email security appliance, which incorporates
a form of Greylisting.
</p>
<p>
<a href="http://www.altn.com/">MDaemon
</a> is a mail server product that incorporates several anti-spam techniques,
including Greylisting. Here is
<a href="http://www.altn.com/products/features.asp/product_id/MDaemon">a list of features.
</a>
</p>
<p>
<a href="http://www.dataenter.com/products/xwall.htm">XWall
</a> is a firewall/spamfilter product for Microsoft Exchange.
</p>
<hr>
<h2>Links to other spam blocking/filtering projects
</h2>
<p>
<a href="http://dspam.sourceforge.net/">The DSPAM Project
</a>
</p>
</td>
<td width="20"><!-- spacer --></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>