+[[!img notmuch-logo.png alt="Notmuch logo" class="left"]]
# Message exclusion and deletion
An important principle of notmuch is that it does not modify your mail
It is still possible to find messages with excluded tags, though, by
manually including the excluded tag in your search:
- $ notmuch search from:foo and tag:spam
+ $ notmuch search from:foo and tag:spam
This will find messages from "foo" with the tag "spam", even though
"spam" is an excluded tag.
of notmuch search. To find all message files associated with the tag
"foo" rung:
- $ notmuch search --output=files tag:foo
+ $ notmuch search --output=files tag:foo
This will output the paths to all message files with "tag:foo", one
per line.
This is useful in a number of different ways. For instance, it could
be used to train a spam filter:
- $ notmuch search --output=files tag:spam | sa-learn -f -
+ $ notmuch search --output=files tag:spam | sa-learn -f -
It can also be used to purge mail files from disk:
- $ notmuch search --output=files tag:deleted | xargs -l rm
+ $ notmuch search --output=files tag:deleted | xargs -l rm
Make sure you run "notmuch new" after the last command so the database
becomes aware that the files have been removed and can remove the
* Add exclusion for messages with the "deleted" tag:
- $ notmuch config set search.exclude_tags deleted
+ $ notmuch config set search.exclude_tags deleted
* Add a key binding to your favorite ui to add a "deleted" tag to
messages that you want to delete. In [[emacs|emacstips]] that might
you can delete them manually with:
$ notmuch search --output=files tag:deleted | xargs -l rm
+
+## <span id="exclude">**killing threads**</span>
+
+In a [[hook|manpages/notmuch-hooks-5]]
+
+ notmuch tag +muted $(notmuch search --output=threads tag:muted)"
+
+New messages in the thread get the muted tag. Make muted an excluded tag.
+To kill a thread, tag it with muted, run notmuch new.