From: Aditya Garg Date: Wed, 4 Jun 2025 12:55:14 +0000 (+0530) Subject: send-email: show the new message id assigned by outlook in the logs X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2cc27b3501064231c5ae190cf2158786e4bfc87b;p=thirdparty%2Fgit.git send-email: show the new message id assigned by outlook in the logs 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: OK. Log says: Server: smtp.office365.com MAIL FROM: RCPT TO: From: Aditya Garg To: negahe7142@nomrista.com 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@live.com> X-Mailer: git-send-email @GIT_VERSION@ MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Result: 250 Fix this by updating the $header variable, which has the message ID we internally assigned on the "Message-ID:" header, with the message ID the Outlook server assigned. It should look like this after this patch: OK. Log says: Server: smtp.office365.com MAIL FROM: RCPT TO: From: Aditya Garg To: negahe7142@nomrista.com 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: X-Mailer: git-send-email @GIT_VERSION@ MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Result: 250 Signed-off-by: Aditya Garg Signed-off-by: Junio C Hamano --- diff --git a/git-send-email.perl b/git-send-email.perl index 5bf4307442..cb6dca2500 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -1788,7 +1788,8 @@ EOF if (is_outlook($smtp_server)) { if ($smtp->message =~ /<([^>]+)>/) { $message_id = "<$1>"; - printf __("Outlook reassigned Message-ID to: %s\n"), $message_id; + $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"); }