I am back. But it will take a while before I start working on macofida again. Swee Heng
These scripts are for my own testing purposes. They worked for me but that is no guarantee they will work for you. You have been warned. Of course, if it does not work for you, please let me know. :o)
- macofida-0.5 (20000616) with buffered spooling
- macofida-0.4 (20000609) see README and filter-script
- macofida-0.3 (20000605)
- macofida-0.2 (20000602) previously known as acofida-0.1
- macofida-0.1 (20000601) previously known as acofire-0.1
It stands for mail content filtering daemon. It is a simple SMTP server written in Perl to
- receive mail via SMTP;
- apply a content filtering script/program to the mail;
- reject or relay mail based on the response of the content filter.
No sophisticated filtering algorithm is currently implemented. Instead, we have a sample filter-script that rejects all mails with the word 'VIRUS'. It is easy for the user to customize this script without touching the macofida code. This gives a modular or 'plug-in' feel to the whole setup. See the README file and filter-script file for more details.
Here are the recent changes made to macofida:
- do not use Net::SMTP::Server::Client anymore; instead a similar dedicated module is used to perform the same task.
- added a 'buffer' parameter; this indicates how many lines of data to buffer before writing it to the spool file.
- renamed the 'filter_sw' parameter to 'filter'.
The reasons for abandoning Net::SMTP::Server::Client are:
- to avoid OO overhead.
- to cut down on sanity checks (not necessary with a nice and well-behaved MTA like Postfix).
- most importantly, to correct the "my %_cmds" problem.
The 'buffer' parameter was introduced to reduce file I/O, which presumably is the bottleneck of macofida. I wonder if it will help.