notmuch/contrib/notmuch-mutt
Stefano Zacchiroli 1722ea2c95 notmuch-mutt: support for messages that lack Message-ID headers
For those messages, compute a synthetic Message-ID based on the SHA1
of the whole message, in the same way that notmuch would do. See:
http://git.notmuchmail.org/git/notmuch/blob/HEAD:/lib/sha1.c

To do the above, rewrite get_message_id() to accumulate header lines,
parse them to check for Message-ID, and fallback to SHA1 computation
if it is not present.

Thanks to:
- Jan N. Klug for preliminary versions of this patch
- Tomi Ollila for suggesting an elegant implementation
2015-02-16 08:58:13 -04:00
..
.gitignore contrib: new mutt-notmuch utility for Mutt integration 2012-03-30 18:12:49 -03:00
Makefile contrib: new mutt-notmuch utility for Mutt integration 2012-03-30 18:12:49 -03:00
notmuch-mutt notmuch-mutt: support for messages that lack Message-ID headers 2015-02-16 08:58:13 -04:00
notmuch-mutt.rc notmuch-mutt: improve robustness of mutt macros 2013-02-16 11:56:55 -04:00
README notmuch-mutt: support for messages that lack Message-ID headers 2015-02-16 08:58:13 -04:00

notmuch-mutt: Notmuch (of a) helper for Mutt
============================================

notmuch-mutt provide integration among the [Mutt] [1] mail user agent and the
[Notmuch] [2] mail indexer.

notmuch-mutt offer two main integration features. The first one is the ability
of stating a **search query interactively** and then jump to a fresh Maildir
containing its search results only. The second one is the ability to
**reconstruct threads on the fly** starting from the currently highlighted
mail, which comes handy when a thread has been split across different maildirs,
archived, or the like.

notmuch-mutt enables to trigger mail searches via a Mutt macro (usually F8) and
reconstruct threads via another (usually F9). Check the manpage for the 2-liner
configuration snippet for your Mutt configuration files (~/.muttrc,
/etc/Muttrc, or a /etc/Muttrc.d snippet).

A [blog style introduction] [3] to notmuch-mutt is available and includes some
more rationale for its existence.

Arguably, some of the logics of notmuch-mutt could disappear by adding support
for a --output=symlinks flag to notmuch.


[1]: http://www.mutt.org/
[2]: http://notmuchmail.org/
[3]: http://upsilon.cc/~zack/blog/posts/2011/01/how_to_use_Notmuch_with_Mutt/


Requirements
------------

To *run* notmuch-mutt you will need Perl with the following libraries:

- Digest::SHA <https://metacpan.org/release/Digest-SHA>
  (Debian package: libdigest-sha-perl)
- Mail::Box <https://metacpan.org/pod/Mail::Box>
  (Debian package: libmail-box-perl)
- Mail::Header <https://metacpan.org/pod/Mail::Header>
  (Debian package: libmailtools-perl)
- String::ShellQuote <https://metacpan.org/pod/String::ShellQuote>
  (Debian package: libstring-shellquote-perl)
- Term::ReadLine::Gnu <https://metacpan.org/pod/Term::ReadLine::Gnu>
  (Debian package: libterm-readline-gnu-perl)

To *build* notmuch-mutt documentation you will need:

- pod2man (coming with Perl) to generate the manpage
- markdown to generate README.html out of this file


License
-------

notmuch-mutt is copyright (C) 2011-2012 Stefano Zacchiroli <zack@upsilon.cc>.

notmuch-mutt is released under the terms of the GNU General Public License
(GPL), version 3 or above. A copy of the license is available online at
<http://www.gnu.org/licenses/>.