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).
char *reply_headers;
struct {
const char *header;
char *reply_headers;
struct {
const char *header;
GMimeRecipientType recipient_type;
} reply_to_map[] = {
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 }
recipients = notmuch_message_get_header (message,
reply_to_map[i].header);
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);
addr = add_recipients_for_string (reply, config,
reply_to_map[i].recipient_type,
recipients);