[Greylist-users] Perl sendmail milter that doesn't use DB?

Landin, Mark Mark.Landin at tdwilliamson.com
Thu Feb 24 07:08:58 PST 2005

> I think it would be FAR easier to get to grips with Perl <=> 
> MySQL than to re-invent the wheel and hack up your own database.

Yes, but my learning curve is steeper than that .. I don't even know
MySQL. I'd like to learn it, but doing so now isn't practical if I want
to get all these other things done too. In Perl, by own database would
be a hash, and possibly a tied hash. Pretty straightforward.
> Re: in-memory database for greylisting.  I don't think this 
> is a good idea.

I'm sure it depends on your environment. Not *every* problem requires a
> This has been thought about by those who have experience of 
> greylisting and know how it needs to work.  Greylisting 
> requires a persistent (i.e. 
> on-disk) database.

Persistent across reboots, yes. Looking at the notes for milter-greylist
(the db-less implementation) the in-memory tuple list is checkpointed to
disk on a regular basis, as a flatfile. You will always miss the last
few tuples that got into memory since your last checkpoint, but that's
probably a small cost vs. the overhead of a persistent db. 

Milter-greylist also supports a simple peer protocol for making sure
multiple MX machines keep their lists consistent. It also had optional
SPF support, so that was attractive too. (I know SPF isn't ubiquitous,
but every little bit helps). The only thing I didn't like about it too
much was it being in C and not Perl, and that's strictly my personal
bias as I know Perl marginally better than C (I'm no guru in either).

More information about the Greylist-users mailing list