DSPAM training integration

Sven Mueller cyrus at incase.de
Wed Feb 4 09:20:47 EST 2009

On 30.01.2009 21:20, Wesley Craig wrote:
> On 30 Jan 2009, at 05:11, Duncan Gibb wrote:
>> I think what Giuseppe is asking for is a mechanism whereby the user's
>> action triggers the learning command directly, rather than relying on an
>> external agent (eg your cron job or our daemon) to come round and look
>> what the user has done.
> One of the interesting aspects of DSPAM is that only the signature of
> the message is required for training. So the user interaction can be
> very simple, e.g., only one folder. User action to copy mail into & out
> of the folder logs the signature (or optionally acts on the signature).
> There's no needs for a "LearnSPAM" or "LearnHAM" folder.

Well, for me, this sounds like there should be a mechanism (a trigger 
mechanism) whereby one could configure a script/program to be called as 
a user moves mail into or out of a given folder. Something like

trigger copy_into *.SPAM /path/to/program trainspam $mailfile
trigger move_into *.SPAM /path/to/program trainspam $mailfile
trigger move_from *.SPAM /path/to/program trainham $mailfile

Which would call "/path/to/program trainspam <mail_filename>" _after_ a 
mail was copied / moved to the SPAM folder, while the call to 
"/path/to/program trainham <mail_filename>" is done _before_ the mail is 
moved. With the *.SPAM matching any users (INBOX)/SPAM folder 
(optionally in any domain). $mailfile would contain the full pathname of 
the mail to be used. Other substitution variables could include the 
domain, user, actual mailbox name, MSGID and/or UUID of the given mail, 
plus perhaps the folder the move/copy comes from and/or goes to etc.
Other triggers could include sieve storing the mail in a folder, users 
deleting mail etc. Where the action on delete would be especially of 
interest for companies that need to (are required to) archive any mail. 
They could move deleted mails to an archive storage instead of actually 
deleting it, using a combination of the cyrus storage and that archive 
to fulfill that requirement.

This sound highly useful to me if it is done in this more abstract way. 
Directly integrating DSPAM might also be interesting, but doesn't seem 
as useful in my case (I'm using SpamAssassin).


More information about the Cyrus-devel mailing list