about summary refs log tree commit homepage
path: root/Documentation
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2014-04-21 00:18:33 +0000
committerEric Wong <e@80x24.org>2014-04-21 00:23:33 +0000
commit62f57b7545eedf6a781efb2f5269b0a38ef2cd4c (patch)
treeb561952c8a3fa1ac8f033966e5971f3f89ec3751 /Documentation
parent1c910ebd5d088b68fd1cec41285ad62641673845 (diff)
downloadpublic-inbox-62f57b7545eedf6a781efb2f5269b0a38ef2cd4c.tar.gz
The ~/.dc-dlvr.pre script for my public-inbox user does this.
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/dc-dlvr-spam-flow.txt38
1 files changed, 38 insertions, 0 deletions
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