Whenever an email is sent, send-email shows a log at last, which contains all the headers of the email that were received by the receipients. In case outlook changes the Message-ID, a log for the same is shown to the user, but that change is not reflected when the log containing all the headers is displayed. Here is an example of the log that is shown when outlook changes the Message-ID: Outlook reassigned Message-ID to: <PN3PR01MB95973E5ACD7CCFADCB4E298CB865A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> OK. Log says: Server: smtp.office365.com MAIL FROM:<gargaditya08@xxxxxxxx> RCPT TO:<negahe7142@xxxxxxxxxxxx> From: Aditya Garg <gargaditya08@xxxxxxxx> To: negahe7142@xxxxxxxxxxxx Subject: [PATCH] send-email: show the new message id assigned by outlook in the logs Date: Mon, 26 May 2025 20:28:36 +0530 Message-ID: <20250526145836.4825-1-gargaditya08@xxxxxxxx> X-Mailer: git-send-email @GIT_VERSION@ MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Result: 250 This patch fixes this by modifying the $header variable, which is responsible for showing the logs at the end. Also, the log which states that the Message-ID has been changed will now be shown only when smtp-debug is enabled, since the main log having all of the headers is anyways displaying the new Message-ID. It should look like this after this patch: OK. Log says: Server: smtp.office365.com MAIL FROM:<gargaditya08@xxxxxxxx> RCPT TO:<negahe7142@xxxxxxxxxxxx> From: Aditya Garg <gargaditya08@xxxxxxxx> To: negahe7142@xxxxxxxxxxxx Subject: [PATCH] send-email: show the new message id assigned by outlook in the logs Date: Mon, 26 May 2025 20:29:22 +0530 Message-ID: <PN3PR01MB95977486061BD2542BD09B67B865A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> X-Mailer: git-send-email @GIT_VERSION@ MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Result: 250 Signed-off-by: Aditya Garg <gargaditya08@xxxxxxxx> --- git-send-email.perl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/git-send-email.perl b/git-send-email.perl index ac1d5b7070..79d230448f 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -1774,7 +1774,9 @@ sub send_message { if (is_outlook($smtp_server)) { if ($smtp->message =~ /<([^>]+)>/) { $message_id = "<$1>"; - printf __("Outlook reassigned Message-ID to: %s\n"), $message_id; + # Replace the original Message-ID in $header with the new one + $header =~ s/^(Message-ID:\s*).*\n/${1}$message_id\n/m; + printf __("Outlook reassigned Message-ID to: %s\n"), $message_id if $smtp->debug; } else { warn __("Warning: Could not retrieve Message-ID from server response.\n"); } -- 2.49.0.635.g48fa2f4343