]> git.cworth.org Git - notmuch-wiki/blobdiff - initial_tagging.mdwn
notmuch-deliver -> notmuch-insert
[notmuch-wiki] / initial_tagging.mdwn
index 6239919fa7af2e3a54eb2e1abe117a60e73b8b42..c7bed037a377fa3670fd2f2c67b75ac03c1a9d33 100644 (file)
@@ -1,18 +1,71 @@
-# Initial Tagging
+[[!img notmuch-logo.png alt="Notmuch logo" class="left"]]
+# Approaches to initial tagging of messages
 
 This page collects scripts and strategies for organizing mail using
 notmuch and doing automated initial tagging.
 
-* [This
-  email](http://notmuchmail.org/pipermail/notmuch/2010/001691.html)
-  (and related thread) details Carl Worth's approach to tagging. It is
-  email id:87r5o8stbj.fsf@yoom.home.cworth.org in the notmuch mailing
-  list archives.
+Here's a very general and ad-hoc approach to initial message tagging.
+The `[new]` config section allows you to control which tags new messages
+receive.  This sets all new messages to get the *new* tag:
 
+    [new]
+    tags=new;
 
-* [This
-  email](http://notmuchmail.org/pipermail/notmuch/2010/001690.html)
-  (and related thread) details one user's setup, which includes using
-  the inbox tag as a "new mail" flag. It is email
-  id:87hbp5j9dv.fsf@hackervisions.org in the notmuch mailing list
-  archives.
+After running `notmuch new`, all new messages will be marked *new*.
+You can then do various tag post-processing by just acting on messages
+with that tag.  For instance, a post-processing script might do the
+following:
+
+    # immediately archive all messages from "me"
+    notmuch tag -new -- tag:new and from:me@example.com
+
+    # delete all messages from a spammer:
+    notmuch tag +deleted -- tag:new and from:spam@spam.com
+
+    # tag all message from notmuch mailing list
+    notmuch tag +notmuch -- tag:new and to:notmuch@notmuchmail.org
+
+    # finally, retag all "new" messages "inbox" and "unread"
+    notmuch tag +inbox +unread -new -- tag:new
+
+Since the post-processing is only acting on a few messages, it is
+generally extremely fast.
+
+You can use the `post-new` hook, which is automatically run after `notmuch new`,
+to do post-processing. See `man notmuch-hooks` for details on hooks.
+
+
+## Other solutions
+
+* [Carl Worth's approach to tagging](http://notmuchmail.org/pipermail/notmuch/2010/001691.html). It
+  is email id:87r5o8stbj.fsf@yoom.home.cworth.org in the notmuch
+  mailing list archives.
+
+
+* [One user's setup](http://notmuchmail.org/pipermail/notmuch/2010/001690.html)
+  (id:87hbp5j9dv.fsf@hackervisions.org), which includes using the
+  inbox tag as a "new mail" flag.
+
+* [Another user's setup](http://notmuchmail.org/pipermail/notmuch/2011/003976.html)
+  (id:"87tyfu3k5a.fsf@gmail.com"), which uses a dedicated tag for
+  marking new mail, which is then sorted with a python script using
+  Bogofilter for spam detection.  This is generally a great deal
+  faster than a shell-scripted approach.  This approach introduces a
+  workflow built around a "watch" tag. Here, the user is only
+  presented with threads as they are started. At this point the user
+  can choose to watch the thread, in which case future messages will
+  be tagged with "inbox", or ignore it. This provides an excellent
+  means for dealing with a large flux of messages with a low
+  signal-to-noise.
+
+* [afew](https://github.com/teythoon/afew) is an initial tagging
+  solution that should work out of the box for most basic tagging
+  needs (mailinglist handling, killed thread handling, autoarchiving
+  of sent mails) and has some fancy features (e.g. mail classification
+  using bayesian filters).
+
+## Notmuch MDA -- `notmuch-insert`
+
+The [[notmuch insert command|manpages/notmuch-insert-1]] is a tool for
+delivering emails to maildir, indexing them to the Notmuch database, and tagging
+them as desired.