unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* [PATCH v2 0/2] delivered-to for reply address guessing
@ 2012-05-24  5:15 Jani Nikula
  2012-05-24  5:15 ` [PATCH v2 1/2] cli: also use Delivered-To header to figure out the reply from address Jani Nikula
  2012-05-24  5:15 ` [PATCH v2 2/2] test: add tests for notmuch reply From guessing Jani Nikula
  0 siblings, 2 replies; 4+ messages in thread
From: Jani Nikula @ 2012-05-24  5:15 UTC (permalink / raw)
  To: notmuch

id:"21a946917c5c8dd63295b7c87b7c2d1ebcb6e71e.1336746160.git.jani@nikula.org"
rebased against current master. No changes since v1.

BR,
Jani.

Jani Nikula (2):
  cli: also use Delivered-To header to figure out the reply from
    address
  test: add tests for notmuch reply From guessing

 notmuch-reply.c |   11 ++++++++---
 test/reply      |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 63 insertions(+), 3 deletions(-)

-- 
1.7.9.5

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v2 1/2] cli: also use Delivered-To header to figure out the reply from address
  2012-05-24  5:15 [PATCH v2 0/2] delivered-to for reply address guessing Jani Nikula
@ 2012-05-24  5:15 ` Jani Nikula
  2012-05-25  1:04   ` David Bremner
  2012-05-24  5:15 ` [PATCH v2 2/2] test: add tests for notmuch reply From guessing Jani Nikula
  1 sibling, 1 reply; 4+ messages in thread
From: Jani Nikula @ 2012-05-24  5:15 UTC (permalink / raw)
  To: notmuch

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>
---
 notmuch-reply.c |   11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/notmuch-reply.c b/notmuch-reply.c
index 51cb6de..0f92a2e 100644
--- a/notmuch-reply.c
+++ b/notmuch-reply.c
@@ -384,7 +384,11 @@ guess_from_received_header (notmuch_config_t *config, notmuch_message_t *message
     const char *delim=". \t";
     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
      * 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:
      * 1) check for an Envelope-to: header
      * 2) check for an X-Original-To: header
-     * 3) check for a (for <email@add.res>) clause in Received: headers
-     * 4) check for the domain part of known email addresses in the
+     * 3) check for a Delivered-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
      * If none of these work, we give up and return NULL
      */
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v2 2/2] test: add tests for notmuch reply From guessing
  2012-05-24  5:15 [PATCH v2 0/2] delivered-to for reply address guessing Jani Nikula
  2012-05-24  5:15 ` [PATCH v2 1/2] cli: also use Delivered-To header to figure out the reply from address Jani Nikula
@ 2012-05-24  5:15 ` Jani Nikula
  1 sibling, 0 replies; 4+ messages in thread
From: Jani Nikula @ 2012-05-24  5:15 UTC (permalink / raw)
  To: notmuch

Add tests for picking up user's From address from fallback headers
Envelope-To, X-Original-To, and Delivered-To.

Signed-off-by: Jani Nikula <jani@nikula.org>
---
 test/reply |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

diff --git a/test/reply b/test/reply
index 00f4bea..ee5d361 100755
--- a/test/reply
+++ b/test/reply
@@ -138,4 +138,59 @@ References: <${gen_msg_id}>
 
 On Tue, 05 Jan 2010 15:43:56 -0000, Notmuch Test Suite <test_suite@notmuchmail.org> wrote:
 > 200-byte header"
+
+test_begin_subtest "From guessing: Envelope-To"
+add_message '[from]="Sender <sender@example.com>"' \
+	    '[to]="Recipient <recipient@example.com>"' \
+	    '[subject]="From guessing"' \
+	    '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \
+	    '[body]="From guessing"' \
+	    '[header]="Envelope-To: test_suite_other@notmuchmail.org"'
+
+output=$(notmuch reply id:${gen_msg_id})
+test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org>
+Subject: Re: From guessing
+To: Sender <sender@example.com>, Recipient <recipient@example.com>
+In-Reply-To: <${gen_msg_id}>
+References: <${gen_msg_id}>
+
+On Tue, 05 Jan 2010 15:43:56 -0000, Sender <sender@example.com> wrote:
+> From guessing"
+
+test_begin_subtest "From guessing: X-Original-To"
+add_message '[from]="Sender <sender@example.com>"' \
+	    '[to]="Recipient <recipient@example.com>"' \
+	    '[subject]="From guessing"' \
+	    '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \
+	    '[body]="From guessing"' \
+	    '[header]="X-Original-To: test_suite@otherdomain.org"'
+
+output=$(notmuch reply id:${gen_msg_id})
+test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@otherdomain.org>
+Subject: Re: From guessing
+To: Sender <sender@example.com>, Recipient <recipient@example.com>
+In-Reply-To: <${gen_msg_id}>
+References: <${gen_msg_id}>
+
+On Tue, 05 Jan 2010 15:43:56 -0000, Sender <sender@example.com> wrote:
+> From guessing"
+
+test_begin_subtest "From guessing: Delivered-To"
+add_message '[from]="Sender <sender@example.com>"' \
+	    '[to]="Recipient <recipient@example.com>"' \
+	    '[subject]="From guessing"' \
+	    '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \
+	    '[body]="From guessing"' \
+	    '[header]="Delivered-To: test_suite_other@notmuchmail.org"'
+
+output=$(notmuch reply id:${gen_msg_id})
+test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org>
+Subject: Re: From guessing
+To: Sender <sender@example.com>, Recipient <recipient@example.com>
+In-Reply-To: <${gen_msg_id}>
+References: <${gen_msg_id}>
+
+On Tue, 05 Jan 2010 15:43:56 -0000, Sender <sender@example.com> wrote:
+> From guessing"
+
 test_done
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2 1/2] cli: also use Delivered-To header to figure out the reply from address
  2012-05-24  5:15 ` [PATCH v2 1/2] cli: also use Delivered-To header to figure out the reply from address Jani Nikula
@ 2012-05-25  1:04   ` David Bremner
  0 siblings, 0 replies; 4+ messages in thread
From: David Bremner @ 2012-05-25  1:04 UTC (permalink / raw)
  To: Jani Nikula, notmuch

Jani Nikula <jani@nikula.org> writes:

> 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).

series pushed to master.

d

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-05-25  1:04 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-24  5:15 [PATCH v2 0/2] delivered-to for reply address guessing Jani Nikula
2012-05-24  5:15 ` [PATCH v2 1/2] cli: also use Delivered-To header to figure out the reply from address Jani Nikula
2012-05-25  1:04   ` David Bremner
2012-05-24  5:15 ` [PATCH v2 2/2] test: add tests for notmuch reply From guessing Jani Nikula

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).