diff --git a/src/mimeparser.rs b/src/mimeparser.rs index 6308bb70c..9430c7486 100644 --- a/src/mimeparser.rs +++ b/src/mimeparser.rs @@ -818,9 +818,15 @@ impl MimeMessage { .collect() }); + let autodelete_timer = report_fields + .get_header_value(HeaderDef::AutodeleteTimer) + .and_then(|v| v.parse::().ok()) + .unwrap_or_default(); + return Ok(Some(Report { original_message_id, additional_message_ids, + autodelete_timer, })); } } @@ -904,6 +910,11 @@ pub(crate) struct Report { original_message_id: String, /// Additional-Message-IDs additional_message_ids: Vec, + + /// MDNs should contain the same autodelete timer value as used in + /// the message they reference. It is used to determine autodelete + /// timer support. + autodelete_timer: u32, } pub(crate) fn parse_message_ids(ids: &str) -> Result> {