smtpfilter is a filter for an SMTP session which passes the session through transparently in real time, except for the DATA command which is intercepted in order to scan the data for spam and/or viruses with the scanner of your choice. The sources are heavily commented. The default spam filtering is a hybrid approach that uses spamassassin to self-train the excellent spamprobe Bayesian filter which works on a per-site rather than per-user basis. The virus checking can use clamav or NAI, or any other command- line scanner.
minimap (minimalistic IMAP) is a non-compliant dummy IMAP server to allow a user to subscribe to the server and drag mail items from another server into either INBOX or "Junk E-mail", which are the only two (fake) mailboxes supported. The intention is for the APPEND command to be used to upload spam and ham in order for a Bayesian mailer such as spamprobe to have a feedback mechanism for retraining. This is for sites where the spam filtering is being done on-the-fly with an SMTP filter before the email gets to the final delivery system. This dummy IMAP server would therefore run on the filter box. It is a suitable companion program for the smtpfilter project.
BackupMX consists of two programs, 'Store' and 'Forward'. Store accepts SMTP connections, takes all mail given to it, and stores it in a file. Forward takes that file and forwards it over SMTP to a fixed destination. This is code for integrating into your own projects rather than using as is. It is suitable for creating a disaster-recovery mail handler, but would also make a good basis for a spam filter, a tarpit, a honeypot, or a greylist filter. It is written in simple C, and has no external dependencies such as libsmtp.
Alternative products (including freeware)
See also http://en.wikipedia.org/wiki/C_to_Java_Virtual_Machine_compilers for a list of similar compilers.
> % I don't understand how this is GPL?
> % anyone explain?
> Of course it is GPL. You get the
> program licensed under GPL if you pay 99
> EUR. You then have the right to
> redistribute it modified or unmodified
> as often and as long you please. So as
> soon as one buyer puts it's on his
> homepage, you will be able to download
> it for free.
At least one person has, thank goodness.
Luca really doesn't get it. I don't know if he wrote it all himself and just doesn't understand the point of the GPL, or if his code incorporated someone else's GPL code and he's trying to obfuscate the issue, but as long as it is GPL'd code, then downloading from someone else's paid for copy is legal. Regardless of whether its for personal or business use. As long as you obey the provisions of the GPL yourself.