cli: also use Delivered-To header to figure out the reply from address

Add another fallback header Delivered-To for guessing the user's from
address for notmuch reply before using the Received
headers. Apparently some MTAs use Delivered-To instead of
X-Original-To (which already exists as a fallback).

Reported-by: Michael Hudson-Doyle <michael.hudson@canonical.com>
Signed-off-by: Jani Nikula <jani@nikula.org>
This commit is contained in:
Jani Nikula 2012-05-24 08:15:49 +03:00 committed by David Bremner
parent 308107e5ff
commit 22a18fc921

View file

@ -384,7 +384,11 @@ guess_from_received_header (notmuch_config_t *config, notmuch_message_t *message
const char *delim=". \t"; const char *delim=". \t";
size_t i; size_t i;
const char *to_headers[] = {"Envelope-to", "X-Original-To"}; const char *to_headers[] = {
"Envelope-to",
"X-Original-To",
"Delivered-To",
};
/* sadly, there is no standard way to find out to which email /* sadly, there is no standard way to find out to which email
* address a mail was delivered - what is in the headers depends * address a mail was delivered - what is in the headers depends
@ -395,8 +399,9 @@ guess_from_received_header (notmuch_config_t *config, notmuch_message_t *message
* the To: or Cc: header. From here we try the following in order: * the To: or Cc: header. From here we try the following in order:
* 1) check for an Envelope-to: header * 1) check for an Envelope-to: header
* 2) check for an X-Original-To: header * 2) check for an X-Original-To: header
* 3) check for a (for <email@add.res>) clause in Received: headers * 3) check for a Delivered-To: header
* 4) check for the domain part of known email addresses in the * 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 * 'by' part of Received headers
* If none of these work, we give up and return NULL * If none of these work, we give up and return NULL
*/ */