mirror of
https://github.com/chatmail/core.git
synced 2026-04-17 21:46:35 +03:00
fix: make protected Message-ID take precedence over X-Microsoft-Original-Message-ID
This commit is contained in:
@@ -275,6 +275,18 @@ impl MimeMessage {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Overwrite Message-ID with X-Microsoft-Original-Message-ID.
|
||||||
|
// However if we later find Message-ID in the protected part,
|
||||||
|
// it will overwrite both.
|
||||||
|
if let Some(microsoft_message_id) =
|
||||||
|
headers.remove(HeaderDef::XMicrosoftOriginalMessageId.get_headername())
|
||||||
|
{
|
||||||
|
headers.insert(
|
||||||
|
HeaderDef::MessageId.get_headername().to_string(),
|
||||||
|
microsoft_message_id,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
// Remove headers that are allowed _only_ in the encrypted+signed part. It's ok to leave
|
// Remove headers that are allowed _only_ in the encrypted+signed part. It's ok to leave
|
||||||
// them in signed-only emails, but has no value currently.
|
// them in signed-only emails, but has no value currently.
|
||||||
Self::remove_secured_headers(&mut headers);
|
Self::remove_secured_headers(&mut headers);
|
||||||
@@ -1379,8 +1391,7 @@ impl MimeMessage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) fn get_rfc724_mid(&self) -> Option<String> {
|
pub(crate) fn get_rfc724_mid(&self) -> Option<String> {
|
||||||
self.get_header(HeaderDef::XMicrosoftOriginalMessageId)
|
self.get_header(HeaderDef::MessageId)
|
||||||
.or_else(|| self.get_header(HeaderDef::MessageId))
|
|
||||||
.and_then(|msgid| parse_message_id(msgid).ok())
|
.and_then(|msgid| parse_message_id(msgid).ok())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user