This solution changes mutt_prepare_template() to check whether the
message_id field is NULL to decide whether to wipe the message-id and
mail-followup-to headers when instantiating the message.
If we are resending a message, we don't want the previous message-id
and mail-followup-to headers. If we are resuming a postponed message,
however, we want to keep the mail-followup-to header if any was set
before the postpone.
newhdr->content->length = hdr->content->length;
mutt_parse_part (fp, newhdr->content);
- FREE (&newhdr->env->message_id);
- FREE (&newhdr->env->mail_followup_to); /* really? */
+ /* If message_id is set, then we are resending a message and don't want
+ * message_id or mail_followup_to. Otherwise, we are resuming a
+ * postponed message, and want to keep the mail_followup_to.
+ */
+ if (newhdr->env->message_id != NULL)
+ {
+ FREE (&newhdr->env->message_id);
+ FREE (&newhdr->env->mail_followup_to);
+ }
/* decrypt pgp/mime encoded messages */