#include "gmime-filter-reply.h"
static void
-reply_part(GMimeObject *part, int *part_count)
+reply_part (GMimeObject *part, int *part_count)
{
GMimeContentDisposition *disposition;
GMimeContentType *content_type;
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;
return 1;
}
- for (messages = notmuch_query_search_messages (query);
+ for (messages = notmuch_query_search_messages (query, 0, -1);
notmuch_messages_has_more (messages);
notmuch_messages_advance (messages))
{
recipients = notmuch_message_get_header (message,
reply_to_map[i].header);
+ if ((recipients == NULL || recipients[0] == '\0') && 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);
g_mime_object_set_header (GMIME_OBJECT (reply),
"From", from_addr);
+ g_mime_object_set_header (GMIME_OBJECT (reply), "Bcc",
+ notmuch_config_get_user_primary_email (config));
+
in_reply_to = talloc_asprintf (ctx, "<%s>",
notmuch_message_get_message_id (message));