X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-reply.c;h=f4b1a61b7f34410f5e79a8b82af5aceda15cb41c;hp=27ef37bd914cd0af1da57f8dd60bf33f1509cfce;hb=191c4ae693c35ecd9e905e64c7619734171c4a8a;hpb=917e87415edbeb7cd744b54ea4079b2e42899d3c diff --git a/notmuch-reply.c b/notmuch-reply.c index 27ef37bd..f4b1a61b 100644 --- a/notmuch-reply.c +++ b/notmuch-reply.c @@ -24,13 +24,16 @@ #include "gmime-filter-reply.h" #include "gmime-filter-headers.h" +static void +reply_headers_message_part (GMimeMessage *message); + static void reply_part_content (GMimeObject *part); static const notmuch_show_format_t format_reply = { "", "", NULL, - "", NULL, "", + "", NULL, reply_headers_message_part, ">\n", "", NULL, NULL, @@ -62,6 +65,28 @@ show_reply_headers (GMimeMessage *message) } } +static void +reply_headers_message_part (GMimeMessage *message) +{ + InternetAddressList *recipients; + const char *recipients_string; + + printf ("> From: %s\n", g_mime_message_get_sender (message)); + recipients = g_mime_message_get_recipients (message, GMIME_RECIPIENT_TYPE_TO); + recipients_string = internet_address_list_to_string (recipients, 0); + if (recipients_string) + printf ("> To: %s\n", + recipients_string); + recipients = g_mime_message_get_recipients (message, GMIME_RECIPIENT_TYPE_CC); + recipients_string = internet_address_list_to_string (recipients, 0); + if (recipients_string) + printf ("> Cc: %s\n", + recipients_string); + printf ("> Subject: %s\n", g_mime_message_get_subject (message)); + printf ("> Date: %s\n", g_mime_message_get_date_as_string (message)); +} + + static void reply_part_content (GMimeObject *part) { @@ -95,6 +120,10 @@ reply_part_content (GMimeObject *part) if (stream_stdout) g_object_unref(stream_stdout); } + else if (g_mime_content_type_is_type (content_type, "message", "rfc822")) + { + /* Output nothing, since rfc822 subparts will be handled individually. */ + } else { if (disposition && @@ -278,7 +307,7 @@ add_recipients_from_message (GMimeMessage *reply, * The munging is easy to detect, because it results in a * redundant reply-to header, (with an address that already exists * in either To or Cc). So in this case, we ignore the Reply-To - * field and use the From header. Thie ensures the original sender + * field and use the From header. This ensures the original sender * will get the reply even if not subscribed to the list. Note * that the address in the Reply-To header will always appear in * the reply. @@ -362,7 +391,7 @@ guess_from_received_header (notmuch_config_t *config, notmuch_message_t *message * them indications to which email address this message was * delivered. * The Received: header is special in our get_header function - * and is always concated. + * and is always concatenated. */ received = notmuch_message_get_header (message, "received"); if (received == NULL)