notmuch clon
Find a file
Daniel Kahn Gillmor 67666538b3 util/repair: identify and repair "Mixed Up" mangled messages
Implement a functional identification and repair process for "Mixed
Up" MIME messages as described in
https://tools.ietf.org/html/draft-dkg-openpgp-pgpmime-message-mangling-00#section-4.1

The detection test is not entirely complete, in that it does not
verify the contents of the latter two message subparts, but this is
probably safe to skip, because those two parts are unlikely to be
readable anyway, and the only part we are effectively omitting (the
first subpart) is guaranteed to be empty anyway, so its removal can be
reversed if you want to do so.  I've left FIXMEs in the code so that
anyone excited about adding these additional checks can see where to
put them in.

Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-09-15 19:06:31 -04:00
bindings version: bump to 0.29.1 2019-06-11 20:11:45 -03:00
compat compat: run uncrustify 2019-06-14 07:41:27 -03:00
completion completion: more complete completion for zsh. 2018-10-02 21:04:26 -03:00
contrib contrib/notmuch-mutt: add install target 2018-09-18 07:54:33 -03:00
debian Merge branch 'release' 2019-07-21 16:15:19 -03:00
devel uncrustify: indent classes 2019-06-14 07:41:27 -03:00
doc index: avoid indexing legacy-display parts 2019-09-01 08:45:30 -03:00
emacs emacs: add keywords to notmuch-emacs-mua.desktop 2019-06-29 21:06:18 +02:00
lib index: avoid indexing legacy-display parts 2019-09-01 08:45:30 -03:00
packaging Use https instead of http where possible 2016-06-05 08:32:17 -03:00
parse-time-string parse-time-string: run uncrustify 2019-06-14 07:41:27 -03:00
performance-test perf-tests: #!/bin/bash -> #!/usr/bin/env bash 2019-06-07 07:59:56 -03:00
test test: add test for "Mixed-Up Mime" message mangling 2019-09-15 01:20:03 -04:00
util util/repair: identify and repair "Mixed Up" mangled messages 2019-09-15 19:06:31 -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 build: ignore *.stamp 2019-04-24 06:53:13 -03:00
.mailmap create .mailmap file (for git shortlog/blame) 2016-07-29 06:01:44 +09:00
.travis.yml travis: use ppa:notmuch/notmuch 2019-05-06 20:39:29 -03:00
AUTHORS move more http -> https 2018-05-03 20:59:20 -03:00
command-line-arguments.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
command-line-arguments.h cli: run uncrustify 2019-06-14 07:41:27 -03:00
configure configure: disallow whitespace in paths, extend checks to $PWD 2019-09-11 18:51:23 -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: run uncrustify 2019-06-14 07:41:27 -03:00
gmime-filter-reply.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
gmime-filter-reply.h cli: run uncrustify 2019-06-14 07:41:27 -03:00
hooks.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
INSTALL build: drop support for gmime-2.6 2019-05-03 06:49:49 -03:00
Makefile support make goals after initial {'', dist, data}clean goal(s) 2017-03-10 08:04:27 -04:00
Makefile.global release: use xz compression 2019-03-27 17:59:40 -03:00
Makefile.local release: use xz compression 2019-03-27 17:59:40 -03:00
mime-node.c cli/{show,reply}: skip over legacy-display parts 2019-09-01 08:44:17 -03:00
NEWS NEWS: news for 0.29.1 2019-06-11 20:15:04 -03:00
notmuch-client.h repair: set up codebase for repair functionality 2019-09-01 08:20:25 -03:00
notmuch-compact.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
notmuch-config.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
notmuch-count.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
notmuch-dump.c notmuch-dump.c: Fix output file being closed twice 2019-07-23 19:20:18 -03:00
notmuch-insert.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
notmuch-new.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
notmuch-reindex.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
notmuch-reply.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
notmuch-restore.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
notmuch-search.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
notmuch-setup.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
notmuch-show.c notmuch-show: run uncrustify 2019-07-05 17:54:36 +02:00
notmuch-tag.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
notmuch-time.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
notmuch.c cli: run uncrustify 2019-06-14 07:41:27 -03: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: run uncrustify 2019-06-14 07:41:27 -03:00
status.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
tag-util.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
tag-util.h cli: run uncrustify 2019-06-14 07:41:27 -03:00
version version: bump to 0.29.1 2019-06-11 20:11: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