From 62f57b7545eedf6a781efb2f5269b0a38ef2cd4c Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 21 Apr 2014 00:18:33 +0000 Subject: scripts/dc-dlvr: allow exiting from ~/.dc-dlvr.pre The ~/.dc-dlvr.pre script for my public-inbox user does this. --- Documentation/dc-dlvr-spam-flow.txt | 38 +++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Documentation/dc-dlvr-spam-flow.txt (limited to 'Documentation') diff --git a/Documentation/dc-dlvr-spam-flow.txt b/Documentation/dc-dlvr-spam-flow.txt new file mode 100644 index 00000000..2cdcefa5 --- /dev/null +++ b/Documentation/dc-dlvr-spam-flow.txt @@ -0,0 +1,38 @@ +dc-dlvr spam/ham training system flow +------------------------------------- + +An overview of the Maildir + inotify-based spam training system Eric +uses on his mail server. This idea may be implemented for kqueue-based +systems, too. + +The idea is to use inotify (via incron) to watch for new files appearing +in Maildirs. We only want to train seen messages as ham, and old (but +not necessarily seen) messages as spam. The overall goal of this is to +allow a user to train their filters without leaving his favorite mail +user agent. + +Every message written to Maildir involves a rename, so we only +have incron watch for IN_MOVED_TO events. + +The generic flow is as follows, all for a single Unix user account: + + incron -> report-spam +-> sendmail -> MTA -> dc-dlvr -> spamc -> spamd + | + V + ... + +For public-inbox, Eric uses a separate Unix account ("pi") to add a +layer of protection from fat-fingering something. So his report-spam +script delivers to a second recipient for training, the "pi" user: + ... + | + +-> sendmail -> MTA -> dc-dlvr + | + V + ~pi/.dc-dlvr.pre + | + V + public-inbox-learn + +public-inbox-learn will then internally handle the "spamc -> spamd" +delivery path as well as calling ssoma-rm on falsely trained -- cgit v1.2.3-24-ge0c7