notmuch clon
Find a file
Daniel Kahn Gillmor aa605f7e8a cli/show: enable --decrypt=stash
Add fancy new feature, which makes "notmuch show" capable of actually
indexing messages that it just decrypted.

This enables a workflow where messages can come in in the background
and be indexed using "--decrypt=auto".  But when showing an encrypted
message for the first time, it gets automatically indexed.

This is something of a departure for "notmuch show" -- in particular,
because it requires read/write access to the database.  However, this
might be a common use case -- people get mail delivered and indexed in
the background, but only want access to their secret key to happen
when they're directly interacting with notmuch itself.

In such a scenario, they couldn't search newly-delivered, encrypted
messages, but they could search for them once they've read them.

Documentation of this new feature also uses a table form, similar to
that found in the description of index.decrypt in notmuch-config(1).

A notmuch UI that wants to facilitate this workflow while also
offering an interactive search interface might instead make use of
these additional commands while the user is at the console:

Count received encrypted messages (if > 0, there are some things we
haven't yet tried to index, and therefore can't yet search):

     notmuch count tag:encrypted and \
         not property:index.decryption=success and \
         not property:index.decryption=failure

Reindex those messages:

     notmuch reindex --try-decrypt=true tag:encrypted and \
         not property:index.decryption=success and \
         not property:index.decryption=failure
2018-05-26 07:43:30 -07:00
bindings bindings: clean extra file created by ruby extension build system 2018-05-14 22:18:18 -03:00
compat Use rooted paths in .gitignore files 2017-08-18 19:42:35 -03:00
completion cli/show: enable --decrypt=stash 2018-05-26 07:43:30 -07:00
contrib Fix typos as found by codespell 2018-03-24 20:09:54 -03:00
debian uploaded to unstable 2018-05-06 09:00:02 -03:00
devel move more http -> https 2018-05-03 20:59:20 -03:00
doc cli/show: enable --decrypt=stash 2018-05-26 07:43:30 -07:00
emacs move more http -> https 2018-05-03 20:59:20 -03:00
lib lib: make notmuch_message_get_database() take a const notmuch_message_t* 2018-05-26 07:32:01 -07:00
packaging Use https instead of http where possible 2016-06-05 08:32:17 -03:00
parse-time-string fix typos 2018-01-04 20:35:58 -04:00
performance-test perf-test: add simple test for thread subqueries 2018-05-07 08:42:53 -03:00
test cli/show: enable --decrypt=stash 2018-05-26 07:43:30 -07:00
util fix typos 2018-01-04 20:35:58 -04:00
vim Fix typos as found by codespell 2018-03-24 20:09:54 -03:00
.dir-locals.el .dir-locals.el: changed one-char comment prefix '; ' to two; '; ; ' 2012-01-22 08:41:37 -04:00
.gitignore gitignore: add .stamps 2017-08-30 20:14:43 -03:00
.mailmap create .mailmap file (for git shortlog/blame) 2016-07-29 06:01:44 +09:00
.travis.yml travis: disable gdb based tests 2018-04-26 22:33:42 -03:00
AUTHORS move more http -> https 2018-05-03 20:59:20 -03:00
command-line-arguments.c cli: some keyword options can be supplied with no argument 2017-12-29 16:45:35 -04:00
command-line-arguments.h cli: some keyword options can be supplied with no argument 2017-12-29 16:45:35 -04:00
configure build: Allow user to specify ruby executable 2018-05-10 21:01:06 -03:00
COPYING Use https instead of http where possible 2016-06-05 08:32:17 -03:00
COPYING-GPL-3 Use https instead of http where possible 2016-06-05 08:32:17 -03:00
debugger.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
gmime-filter-reply.c drop use of register keyword 2018-05-14 22:18:05 -03:00
gmime-filter-reply.h Typsos 2009-11-18 03:21:36 -08:00
hooks.c Use https instead of http where possible 2016-06-05 08:32:17 -03:00
INSTALL move more http -> https 2018-05-03 20:59:20 -03:00
Makefile support make goals after initial {'', dist, data}clean goal(s) 2017-03-10 08:04:27 -04:00
Makefile.global rename libutil.a to libnotmuch_util.a 2017-03-18 21:37:43 -03:00
Makefile.local build: push additional refs during release 2018-04-28 08:34:48 -03:00
mime-node.c cli: write session keys to database, if asked to do so 2018-05-26 07:33:01 -07:00
NEWS move more http -> https 2018-05-03 20:59:20 -03:00
notmuch-client.h cli: add print_status_message() 2018-05-26 07:32:14 -07:00
notmuch-compact.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
notmuch-config.c indexing: Change from try_decrypt to decrypt 2017-12-08 08:05:53 -04:00
notmuch-count.c cli: make notmuch count --exclude a boolean argument 2017-10-15 19:22:40 -03:00
notmuch-dump.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
notmuch-insert.c cli/insert: add --world-readable flag 2018-03-24 20:08:11 -03:00
notmuch-new.c CLI/new: add full-scan option 2018-05-22 09:29:36 -07:00
notmuch-reindex.c move more http -> https 2018-05-03 20:59:20 -03:00
notmuch-reply.c cli/reply: make --decrypt take a keyword 2017-12-29 16:45:55 -04:00
notmuch-restore.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
notmuch-search.c cli: add support for only printing the addresses in notmuch address 2017-12-14 21:28:50 -04:00
notmuch-setup.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
notmuch-show.c cli/show: enable --decrypt=stash 2018-05-26 07:43:30 -07:00
notmuch-tag.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
notmuch-time.c Use https instead of http where possible 2016-06-05 08:32:17 -03:00
notmuch.c fix typos 2018-01-04 20:35:58 -04:00
query-string.c Use https instead of http where possible 2016-06-05 08:32:17 -03:00
README Use https instead of http where possible 2016-06-05 08:32:17 -03:00
README.rst Use https instead of http where possible 2016-06-05 08:32:17 -03:00
sprinter-json.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
sprinter-sexp.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
sprinter-text.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
sprinter.h cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
status.c cli: add print_status_message() 2018-05-26 07:32:14 -07:00
tag-util.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
tag-util.h fix typos 2018-01-04 20:35:58 -04:00
version version: bump to 0.26.2 2018-04-26 22:28:45 -03:00

Notmuch - thread-based email index, search and tagging.

Notmuch is a system for indexing, searching, reading, and tagging
large collections of email messages in maildir or mh format. It uses
the Xapian library to provide fast, full-text search with a convenient
search syntax.

Notmuch is free software, released under the GNU General Public
License version 3 (or later).

Building notmuch
----------------
See the INSTALL file for notes on compiling and installing notmuch.

Running notmuch
---------------
After installing notmuch, start by running "notmuch setup" which will
interactively prompt for configuration information such as your name,
email address, and the directory which contains your mail archive to
be indexed. You can change any answers later by running "notmuch
setup" again or by editing the .notmuch-config file in your home
directory.

With notmuch configured you should next run "notmuch new" which will
index all of your existing mail. This can take a long time, (several
hours) if you have a lot of email, (hundreds of thousands of
files). When new mail is delivered to your mail archive in the future,
you will want to run "notmuch new" again. These runs will be much
faster as they will only index new messages.

Finally, you can prove to yourself that things are working by running
some command-line searches such as "notmuch search
from:someone@example.com" or "notmuch search subject:topic". See
"notmuch help search-terms" for more details on the available search
syntax.

The command-line search output is not expected to be particularly
friendly for day-to-day usage. Instead, it is expected that you will
use an email interface that builds on the notmuch command-line tool or
the libnotmuch library.

Notmuch installs a full-featured email interface for use within
emacs. To use this, first add the following line to your .emacs file:

	(autoload 'notmuch "notmuch" "Notmuch mail" t)

Then, either run "emacs -f notmuch" or execute the command "M-x
notmuch" from within a running emacs.

If you're interested in a non-emacs-based interface to notmuch, then
please join the notmuch community. Various other interfaces are
already in progress, (an interface within vim, a curses interface,
graphical interfaces based on evolution, and various web-based
interfaces). The authors of these interfaces would love further
testing or contribution. See contact information below.

Contacting users and developers
-------------------------------
The website for Notmuch is:

	https://notmuchmail.org

The mailing list address for the notmuch community is:

	notmuch@notmuchmail.org

We welcome any sort of questions, comments, kudos, or code there.

Subscription is not required, (but if you do subscribe you'll avoid
any delay due to moderation). See the website for subscription
information.

There is also an IRC channel dedicated to talk about using and
developing notmuch:

	IRC server:	irc.freenode.net
	Channel:	#notmuch