diff options
author | Carl Worth <cworth@cworth.org> | 2009-11-13 10:50:52 -0800 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2009-11-13 10:50:52 -0800 |
commit | f9f897ae27b4443bfa0f2d55600f5120fc1153ac (patch) | |
tree | 670ebb4af2aaa0b5f08680ef8b869480e9a709de /notmuch-reply.c | |
parent | f4245aec94815176a52baae57a6c260b2bbae9c2 (diff) |
notmuch reply: Prefer "Reply-To" header over "From" for choosing recipient.
There are still open questions about how to correctly compute the
intended list of recipients. We'll probably need separate "reply to
sender" and "reply to all" commands at some point (unfortunately).
Diffstat (limited to 'notmuch-reply.c')
-rw-r--r-- | notmuch-reply.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/notmuch-reply.c b/notmuch-reply.c index 86e9b3a..4206066 100644 --- a/notmuch-reply.c +++ b/notmuch-reply.c @@ -182,12 +182,13 @@ notmuch_reply_command (void *ctx, int argc, char *argv[]) char *reply_headers; struct { const char *header; + const char *fallback; GMimeRecipientType recipient_type; } reply_to_map[] = { - { "from", GMIME_RECIPIENT_TYPE_TO }, - { "to", GMIME_RECIPIENT_TYPE_TO }, - { "cc", GMIME_RECIPIENT_TYPE_CC }, - { "bcc", GMIME_RECIPIENT_TYPE_BCC } + { "reply-to", "from", GMIME_RECIPIENT_TYPE_TO }, + { "to", NULL, GMIME_RECIPIENT_TYPE_TO }, + { "cc", NULL, GMIME_RECIPIENT_TYPE_CC }, + { "bcc", NULL, GMIME_RECIPIENT_TYPE_BCC } }; unsigned int i; @@ -235,6 +236,10 @@ notmuch_reply_command (void *ctx, int argc, char *argv[]) recipients = notmuch_message_get_header (message, reply_to_map[i].header); + if (recipients == NULL && reply_to_map[i].fallback) + recipients = notmuch_message_get_header (message, + reply_to_map[i].fallback); + addr = add_recipients_for_string (reply, config, reply_to_map[i].recipient_type, recipients); |