[Omail-ospam] oSpam 0.01 - a system-wide anti-spam solution for qmail and vmailmgr with spamassassin
Brought to you by:
swix
From: Olivier M. <qm...@or...> - 2003-05-04 02:47:59
|
Hello, I'm currently working on oSpam: feedback, feature requests etc. are welcome (if possible per mail or directely on the project's mailing list). oSpam uses omail-admin as web frontend which manage the SpamAssassin sql userprefs table. oSpam itself is a Perl script which will look at this table, and dynamicaly (on a cronjob basis) create/ modify/remove .qmail-files according to the users preferences. It will take care not overwritting existing .qmail-x files, and keeps md5sum tracks of the created files to make sure it will only remove self- created files. * Project homepage : (files to download) http://omail.omnis.ch/ospam/ * Mailing lists is now working : check http://lists.sourceforge.net/lists/listinfo/omail-ospam * omail-Admin demo: http://admin.omnis.ch/admin2/ login with "test.com" / "test", then click on "AntiSpam" * status: exists since 2 days, it (seems to) works fine on my production server :) * pros: not all the incomming mails are scanned for spam (takes time and CPU load), but only for the selected accounts. cons: currently work only with qmail+vmailmgr. suppport for "qmail-only" may come later ====================================================================== CONCEPT: -------- Mail users and administrators can turn on and off the anti-spam system and set their settings (score, what to do with spams, white/blacklists), which are saved in the standard SpamAssassin SQL base. (cf. http://spamassassin.rediris.es/dist/sql/README and ./sql/nospam.sql for the table structure). The last solution I used before was to do the spam-scanning of incoming mails via qmail-scanner, directely on smtp server level: it worked fine, but solution as not optimal because of a few problems with multiple recipients and compatibility problems with vmailmgr. That's why I now started to work on a solution based on .qmail-xxx files. Steps: 1. the user logs in into omail-admin and use the "Antispam" panel (screenshot: http://www.omnis.ch/stuff/ospam/oadmin.jpg ) 2. settings are saved into the sql table "userpref" At this moment, the mail server don't know yet it has to scan the mails for this user. 3. cron or a trigger runs the ospam-dotqmail.pl script 4. ospam will compare the SpamAssassin table with its internal table (dotqmail) and will create (or edit/remove) the according . qmail-xxx file. For example: omega:/home/omx.ch # more .qmail-scan_and_trash # ================================================================================= # /home/omx.ch/.qmail-scan_and_trash generated on Sat May 3 19:35:08 2003 # by oSpam version 1.1000 for <sca...@om...> [o1a336] # ___ DO NOT EDIT ___ -== http://ospam.omnis.ch/ ==- # |/usr/local/nospam/ifspamh _trash_ sca...@om... |/var/qmail/bin/preline -d /usr/bin/spamc -f -u sca...@om... | /usr/local/nospam/filepipe /usr/local/bin/vdeliver # # ================================================================================= 5. on further user settings changes (in omail-admin): - settings like score and white/blacklists are fetched directely by spamc, so it will be valid just after the change - spam scanning on/off, action with the spams (forward/trash/tag) are updated only on ospam-dotqmail.pl run Voila, I hope you see the concept a little bit better... :) ====================================================================== Suggestions / opinions welcome, to let me set the priorities: I'll continue to work on the code the next days (optimize the code). Regards, Olivier -- _________________________________________________________________ Olivier Mueller - om...@83... - PGPkeyID: 0E84D2EA - Switzerland qmail projects: http://omail.omnis.ch - http://webmail.omnis.ch |