notmuch clon
Find a file
Dirk Hohndel 932e1c165c Rearchitect From: header guessing code for replies
We want to be able to correctly guess the best From: header to use when
replying to emails. This is what we are looking at now:
 1 is one of the users' mail addresses in the To: or Cc: header
 2 check for an Envelope-to: header
 3 check for an X-Original-To: header
 4 check for a (for <email@add.res>) clause in Received: headers
 5 check for the domain part of known email addresses in the
      'by' part of Received headers
 6 fall back to the primary email address

This patch changes the algorithm for steps 2-5 of this process. Prior to
this patch we had a first attempt to implement only step 5 - but this
broke in many email setups where mail delivery to the local machine added
additional Received: lines.
Steps 2-4 are new, step 5 now analyzes the concatenated Received: header
(this was in the previous patch) to do this analysis.

Signed-off-by: Dirk Hohndel <hohndel@infradead.org>
2010-04-26 14:44:13 -07:00
bindings/python python: Add UNSORTED as Query.SORT option 2010-04-23 13:40:38 +02:00
compat Add simplistic reimplementation of strcasestr to compat library 2010-04-14 11:34:12 -07:00
completion Makefile: Move the completion-specific commands to completion/Makefile.local 2010-04-06 14:36:31 -07:00
debian Move everything down into a bindings/python directory. 2010-04-21 17:29:34 -07:00
emacs Integrate notmuch-fcc mechansim 2010-04-26 12:00:13 -07:00
lib Make Received: header special in notmuch_message_file_get_header 2010-04-26 14:44:06 -07:00
packaging packaging: Add a pointer to where the debian packaging really is. 2010-04-06 14:42:09 -07:00
test Add tests for author name reordering in search results 2010-04-26 11:45:17 -07:00
vim Fix typo in message 2010-04-15 19:43:56 -07:00
.gitignore make release: Add Debian package building and upload 2010-04-16 13:20:22 -07:00
AUTHORS Drop date.c file, (use identical function from GMime instead). 2009-11-02 14:36:33 -08:00
configure configure: add ignored options for compatibility. 2010-04-26 07:18:21 -07:00
COPYING Add copy of GNU General Public License (version 3). 2009-10-21 16:25:08 -07:00
COPYING-GPL-3 Add copy of GNU General Public License (version 3). 2009-10-21 16:25:08 -07:00
debugger.c notmuch-new: Only install SIGALRM if not running under gdb 2009-11-22 05:36:36 +01:00
gmime-filter-headers.c Decode headers in reply 2010-04-13 09:23:54 -07:00
gmime-filter-headers.h Decode headers in reply 2010-04-13 09:23:54 -07:00
gmime-filter-reply.c Filter out carriage-returns in show and reply output. 2009-11-18 23:34:43 +01:00
gmime-filter-reply.h Typsos 2009-11-18 03:21:36 -08:00
INSTALL INSTALL: Include Fedora command for installing dependencies of notmuch. 2010-03-09 12:13:32 -08:00
json.c json_quote_chararray: Always return a newly talloced array 2010-04-20 08:55:31 -07:00
Makefile Makefile: Move include of Makefile.config up from Makefile.local 2010-04-14 11:34:12 -07:00
Makefile.local make release: Add Debian package building and upload 2010-04-16 13:20:22 -07:00
NEWS Add NEWS section for author reordering 2010-04-26 11:45:06 -07:00
notmuch-client.h Sprinkle some const-correctness around new_tags. 2010-04-23 09:19:52 -07:00
notmuch-config.c config: Rename messages.new_tags to just new.tags 2010-04-23 10:29:28 -07:00
notmuch-count.c notmuch count: Remove special handling of "*". 2010-04-09 17:44:01 -07:00
notmuch-dump.c lib: Rename iterator functions to prepare for reverse iteration. 2010-03-09 09:22:29 -08:00
notmuch-new.c Sprinkle some const-correctness around new_tags. 2010-04-23 09:19:52 -07:00
notmuch-reply.c Rearchitect From: header guessing code for replies 2010-04-26 14:44:13 -07:00
notmuch-restore.c lib: Rename iterator functions to prepare for reverse iteration. 2010-03-09 09:22:29 -08:00
notmuch-search-tags.c lib: Rename iterator functions to prepare for reverse iteration. 2010-03-09 09:22:29 -08:00
notmuch-search.c removed unused variables 2010-04-23 17:53:52 -07:00
notmuch-setup.c notmuch setup: Prompt for tags to set on new messages. 2010-04-23 10:30:40 -07:00
notmuch-show.c json: Replace date_unix' with timestamp' in show output 2010-04-22 14:52:32 -07:00
notmuch-tag.c notmuch-tag: don't sort messages before applying tag changes 2010-04-21 16:06:09 -07:00
notmuch-time.c Add some const correctness to talloc 'ctx' parameter. 2009-11-17 19:10:37 -08:00
notmuch.1 nomtuch.1: Add documentation for "notmuch count" 2010-04-09 17:44:01 -07:00
notmuch.c Fix help message for "show" 2010-04-21 17:45:39 -07:00
notmuch.desktop notmuch.desktop: Clarify that this is the emacs interface to notmuch. 2010-01-24 07:30:08 +13:00
query-string.c notmuch: Break notmuch.c up into several smaller files. 2009-11-10 12:03:05 -08:00
README Move everything down into a bindings/python directory. 2010-04-21 17:29:34 -07:00
RELEASING make release: Add Debian package building and upload 2010-04-16 13:20:22 -07:00
show-message.c notmuch: Add a 'part' subcommand 2010-04-02 09:43:03 +01:00
TODO TODO: Add idea to make content available to isearch in search-results mode. 2010-04-26 07:14:22 -07:00
version Increment version to 0.2. 2010-04-16 13:02:34 -07: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.

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

	http://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

Interface options
-----------------
Notmuch includes a "notmuch" command-line interface to the system.
This is not a very convenient interface and it is not expected that
users will find it satisfying. Instead, there are two option for
obtaining a more sophisticated interface:

     1. Build on top of the "notmuch" command-line interface.

	This might be a reasonable option for a very text-oriented
	client environment. For example, an emacs-based interface for
	notmuch is already under development and is available in the
	notmuch.el file in this distribution.

	If someone were to write a curses-based interface, or similar,
	it might also be reasonable to build on the "notmuch"
	command-line interface.

     2. Build on top of the notmuch library interface.

	This is a better choice for developing an interface that has
	full control of the presentation of email threads and
	messages. It is expected that anyone integrating Notmuch into
	an existing, graphical email program use the notmuch library
	interface.

	The public interface to the notmuch library is contained in
	the notmuch.h header file. The "notmuch" command-line program
	in notmuch.c can be used as good example code, since it is a
	simple program that is written on top of the library
	interface.

As can be seen, alternate interfaces to the Notmuch mail system are
still in development. We would appreciate any contributions to these
efforts.