refactor: flatten process_report()

This commit is contained in:
link2xt
2023-09-26 16:02:14 +00:00
parent b1d517398d
commit 88bba83383

View File

@@ -1442,7 +1442,18 @@ impl MimeMessage {
let (report_fields, _) = mailparse::parse_headers(&report_body)?; let (report_fields, _) = mailparse::parse_headers(&report_body)?;
// must be present // must be present
if let Some(_disposition) = report_fields.get_header_value(HeaderDef::Disposition) { if report_fields
.get_header_value(HeaderDef::Disposition)
.is_none()
{
warn!(
context,
"Ignoring unknown disposition-notification, Message-Id: {:?}.",
report_fields.get_header_value(HeaderDef::MessageId)
);
return Ok(None);
};
let original_message_id = report_fields let original_message_id = report_fields
.get_header_value(HeaderDef::OriginalMessageId) .get_header_value(HeaderDef::OriginalMessageId)
// MS Exchange doesn't add an Original-Message-Id header. Instead, they put // MS Exchange doesn't add an Original-Message-Id header. Instead, they put
@@ -1457,18 +1468,10 @@ impl MimeMessage {
.collect() .collect()
}); });
return Ok(Some(Report { Ok(Some(Report {
original_message_id, original_message_id,
additional_message_ids, additional_message_ids,
})); }))
}
warn!(
context,
"ignoring unknown disposition-notification, Message-Id: {:?}",
report_fields.get_header_value(HeaderDef::MessageId)
);
Ok(None)
} }
fn process_delivery_status( fn process_delivery_status(