]> git.notmuchmail.org Git - notmuch-wiki/blob - initial_tagging.mdwn
add note about hooks to initial tagging
[notmuch-wiki] / initial_tagging.mdwn
1 # Approaches to initial tagging of messages
2
3 This page collects scripts and strategies for organizing mail using
4 notmuch and doing automated initial tagging.
5
6 Here's a very general and ad-hoc approach to initial message tagging.
7 The `[new]` config section allows you to control which tags new messages
8 receive.  This sets all new messages to get the *new* tag:
9
10     [new]
11     tags=new;
12
13 After running `notmuch new`, all new messages will be marked *new*.
14 You can then do various tag post-processing by just acting on messages
15 with that tag.  For instance, a post-processing script might do the
16 following:
17
18     # immediately archive all messages from "me"
19     notmuch tag -new -- tag:new and from:me@example.com
20
21     # delete all messages from a spammer:
22     notmuch tag +deleted -- from:spam@spam.com
23
24     # tag all message from notmuch mailing list
25     notmuch tag +notmuch -- to:notmuch@notmuchmail.org
26
27     # finally, retag all "new" messages "inbox" and "unread"
28     notmuch tag +inbox +unread -new -- tag:new
29
30 Since the post-processing is only acting on a few messages, it is
31 generally extremely fast.
32
33 You can use the `post-new` hook, which is automatically run after `notmuch new`,
34 to do post-processing. See `man notmuch-hooks` for details on hooks.
35
36
37 # Other solutions
38
39 * [This
40   email](http://notmuchmail.org/pipermail/notmuch/2010/001691.html)
41   (and related thread) details Carl Worth's approach to tagging. It is
42   email id:87r5o8stbj.fsf@yoom.home.cworth.org in the notmuch mailing
43   list archives.
44
45
46 * [This
47   email](http://notmuchmail.org/pipermail/notmuch/2010/001690.html)
48   (and related thread) details one user's setup, which includes using
49   the inbox tag as a "new mail" flag. It is email
50   id:87hbp5j9dv.fsf@hackervisions.org in the notmuch mailing list
51   archives.
52
53 * [This email](http://notmuchmail.org/pipermail/notmuch/2011/003976.html)
54   details another user's setup, which uses a dedicated tag for marking new mail,
55   which is then sorted with a python script using Bogofilter for spam detection.
56   This is generally a great deal faster than a shell-scripted approach.
57   This approach introduces a workflow built around a "watch" tag. Here, the user
58   is only presented with threads as they are started. At this point the user can
59   choose to watch the thread, in which case future messages will be tagged with
60   "inbox", or ignore it. This provides an excellent means for dealing with a
61   large flux of messages with a low signal-to-noise.  It is email
62   id:"87tyfu3k5a.fsf@gmail.com" in the notmuch mailing list archives.
63
64 * [afew](https://github.com/teythoon/afew) is an initial tagging
65   solution that should work out of the box for most basic tagging
66   needs (mailinglist handling, killed thread handling, autoarchiving
67   of sent mails) and has some fancy features (e.g. mail classification
68   using bayesian filters).
69
70 # Notmuch Delivery Agent -- `notmuch-deliver`
71
72 The [Notmuch Delivery Agent](http://github.com/alip/notmuch-deliver/)
73 ([announcement](http://notmuchmail.org/pipermail/notmuch/2010/002871.html)) is
74 a tool for delivering emails to maildir, add them to the Notmuch database, and
75 tag them as desired.