diff --git a/src/dc_receive_imf.rs b/src/dc_receive_imf.rs index 0b4ef1f05..6bf07bf82 100644 --- a/src/dc_receive_imf.rs +++ b/src/dc_receive_imf.rs @@ -2356,7 +2356,7 @@ mod tests { "snaerituhaeirns@gmail.com", "9c9c2a32-056b-3592-c372-d7e8f0bd4bc2@gmx.de", include_bytes!("../test-data/message/gmx_ndn.eml"), - "Delivery Status Notification (Failure) – ** Die Adresse wurde nicht gefunden **\n\nIhre Nachricht wurde nicht an assidhfaaspocwaeofi@gmail.com zugestellt, weil die Adresse nicht gefunden wurde oder keine E-Mails empfangen kann.\n\nHier erfahren Sie mehr: https://support.google.com/mail/?p=NoSuchUser\n\nAntwort:\n\n550 5.1.1 The email account that you tried to reach does not exist. Please try double-checking the recipient\'s email address for typos or unnecessary spaces. Learn more at https://support.google.com/mail/?p=NoSuchUser i18sor6261697wrs.38 - gsmtp", + "Mail delivery failed: returning message to sender – This message was created automatically by mail delivery software.\n\nA message that you sent could not be delivered to one or more of\nits recipients. This is a permanent error. The following address(es)\nfailed:\n\nsnaerituhaeirns@gmail.com:\nSMTP error from remote server for RCPT TO command, host: gmail-smtp-in.l.google.com (66.102.1.27) reason: 550-5.1.1 The email account that you tried to reach does not exist. Please\n try\n550-5.1.1 double-checking the recipient\'s email address for typos or\n550-5.1.1 unnecessary spaces. Learn more at\n550 5.1.1 https://support.google.com/mail/?p=NoSuchUser f6si2517766wmc.21\n9 - gsmtp" ) .await; } @@ -2466,7 +2466,7 @@ mod tests { let chats = Chatlist::try_load(&t.ctx, 0, None, None).await.unwrap(); let msg_id = chats.get_msg_id(0).unwrap(); - let raw = include_bytes!("../test-data/message/gmail_ndn.eml"); + let raw = include_bytes!("../test-data/message/gmail_ndn_group.eml"); dc_receive_imf(&t.ctx, raw, "INBOX", 1, false) .await .unwrap(); diff --git a/src/mimeparser.rs b/src/mimeparser.rs index 56bb9e942..f895212b9 100644 --- a/src/mimeparser.rs +++ b/src/mimeparser.rs @@ -3,6 +3,7 @@ use std::future::Future; use std::pin::Pin; use deltachat_derive::{FromSql, ToSql}; +use lazy_static::lazy_static; use lettre_email::mime::{self, Mime}; use mailparse::{addrparse_header, DispositionType, MailHeader, MailHeaderMap, SingleInfo}; @@ -186,6 +187,7 @@ impl MimeMessage { failed_msg: None, }; parser.parse_mime_recursive(context, &mail).await?; + parser.heuristically_parse_ndn().await; parser.parse_headers(context)?; Ok(parser) @@ -855,6 +857,82 @@ impl MimeMessage { Ok(None) } + fn process_delivery_status( + &self, + context: &Context, + report: &mailparse::ParsedMail<'_>, + ) -> Result> { + // parse as mailheaders + if let Some(original_msg) = report + .subparts + .iter() + .find(|p| p.ctype.mimetype.contains("rfc822")) + { + let report_body = original_msg.get_body_raw()?; + let (report_fields, _) = mailparse::parse_headers(&report_body)?; + + if let Some(original_message_id) = report_fields + .get_header_value(HeaderDef::MessageId) + .and_then(|v| parse_message_id(&v).ok()) + { + let mut to_list = get_all_addresses_from_header(&report.headers, |header_key| { + header_key == "X-Failed-Recipients" + }); + let to = if to_list.len() == 1 { + Some(to_list.pop().unwrap()) + } else { + None // We do not know which recipient failed + }; + + return Ok(Some(FailedMsg { + rfc724_mid: original_message_id, + failed_recipient: to.map(|s| s.addr), + })); + } + + warn!( + context, + "ignoring unknown ndn-notification, Message-Id: {:?}", + report_fields.get_header_value(HeaderDef::MessageId) + ); + } + + Ok(None) + } + + async fn heuristically_parse_ndn(&mut self) -> Option<()> { + if self + .get(HeaderDef::Subject)? + .to_ascii_lowercase() + .contains("fail") + && self + .get(HeaderDef::From_)? + .to_ascii_lowercase() + .contains("daemon") + && self.failed_msg.is_none() + { + for line in self + .parts + .iter() + .filter_map(|p| p.msg_raw.as_ref()) + .flat_map(|p| p.lines()) + { + lazy_static! { + static ref RE: regex::Regex = regex::Regex::new(r"Message-ID:(.*)").unwrap(); + } + if let Some(c) = RE.captures(line) { + if let Ok(original_message_id) = parse_message_id(&c[1]) { + self.failed_msg = Some(FailedMsg { + rfc724_mid: original_message_id, + failed_recipient: None, + }) + } + } + } + } + None + } + /// Handle reports (only MDNs for now) pub async fn handle_reports( &self, @@ -877,54 +955,17 @@ impl MimeMessage { } if let Some(original_message_id) = &self.failed_msg { - let error = parts - .iter() - .find(|p| p.typ == Viewtype::Text) - .map(|p| &p.msg); + let error = parts.iter().find(|p| p.typ == Viewtype::Text).map(|p| { + let msg = &p.msg; + match msg.find("\n--- ") { + Some(footer_start) => &msg[..footer_start], + None => msg, + } + .trim() + }); message::ndn_from_ext(context, original_message_id, error).await } } - - fn process_delivery_status( - &self, - context: &Context, - report: &mailparse::ParsedMail<'_>, - ) -> Result> { - // parse as mailheaders - if let Some(original_msg) = report - .subparts - .iter() - .find(|p| p.ctype.mimetype.contains("rfc822")) - { - let report_body = original_msg.get_body_raw()?; - let (report_fields, _) = mailparse::parse_headers(&report_body)?; - - if let Some(original_message_id) = report_fields - .get_header_value(HeaderDef::MessageId) - .and_then(|v| parse_message_id(&v).ok()) - { - let mut to_list = get_recipients(&report_fields); - let to = if to_list.len() == 1 { - Some(to_list.pop().unwrap()) - } else { - None // We do not know which recipient failed - }; - - return Ok(Some(FailedMsg { - rfc724_mid: original_message_id, - failed_recipient: to.map(|s| s.addr), - })); - } - - warn!( - context, - "ignoring unknown ndn-notification, Message-Id: {:?}", - report_fields.get_header_value(HeaderDef::MessageId) - ); - } - - Ok(None) - } } async fn update_gossip_peerstates( diff --git a/test-data/message/aol_ndn.eml b/test-data/message/aol_ndn.eml new file mode 100644 index 000000000..d0f5188b8 --- /dev/null +++ b/test-data/message/aol_ndn.eml @@ -0,0 +1,100 @@ +X-Atlas-Received: from 10.218.248.40 by atlas207.aol.mail.ne1.yahoo.com with http; Wed, 10 Jun 2020 10:42:33 +0000 +Return-Path: <> +Received: from 74.6.131.123 (EHLO sonic311-13.consmr.mail.bf2.yahoo.com) + by atlas207.aol.mail.ne1.yahoo.com with SMTPs; Wed, 10 Jun 2020 10:42:33 +0000 +X-Originating-Ip: [74.6.131.123] +Received-SPF: none (domain of sonic311-13.consmr.mail.bf2.yahoo.com does not designate permitted sender hosts) +Authentication-Results: atlas207.aol.mail.ne1.yahoo.com; + dkim=pass header.i=@yahoo.com header.s=@bounce; + spf=none smtp.mailfrom=sonic311-13.consmr.mail.bf2.yahoo.com; + dmarc=success(p=REJECT) header.from=yahoo.com; +X-Apparently-To: deltachattestac@aol.com; Wed, 10 Jun 2020 10:42:33 +0000 +X-YMailISG: DkLFz_oWLDvt4_NIgCwKD1jZui63WnISNmlXQ_XYR2MqQH9y + Sa__GenYvUZEmGPWcZU0SLRtkdYKB66hm6jbzx7Pw4j6es6aXyOHs91T5xeW + Bvqm5IjytmXBG.ELVw0MjCKEPx36Wr5pptHuryDWttC8.qeN9w_SZy1kXtkE + vJDjXD1IIMZ1XpywJyBYu3Ld3AKkTd0mU3V7wbq3LY8A3dsgO7Gv8Doq4PyJ + 6DxK2NqUp.GOAjj_9pH97OFJCeUCjc.dlEVPbrvfBUPimoluyG00EnyyyhjL + KnDZiAZnCVUA9H2lfM0uWqNCF7CowDoehVecVHpiLJ7Xl415wQjOjWSTzatA + Buh2hsSQDbpPRLZbjnY0B4sC1vMKnCm3B2P04KYEWs7W_m_Ysvtidkg1SyKR + vsm8UDlDfLFSNtaE6LuxkgK90hVfM3qHXpnAPnUkB626ucgZAJDvXMg3q_S. + rMOcm0e5LPVON_LjqMSefreahzGebN88_klofvxDaBm7EZIFd933_EWrJ1yZ + P_hp5lPTaYmFTuukp8UR9ZfwVCbz6FmUzQwbNvGsmWgI2mVxgGgCay4OJKOk + gyTyQXzDGitU82HsLfgpIricWWdou7tlkwUQXv2w6p1.QbmbZ628n5xiN2jF + EQOqz9GHSdN4YPDGzbd2QrqkWWSXWcP4TRoFJMvPEnxwgqN4BrCMY52x2koF + Fj4Lm65pq26I7ErlHpYU4bN5Y2CbYZN5ppWtqalyMX167S8mDTF0vkW.0aqa + nLNu38OSqRfUqRPPQ7AQn3E14fcFq0pzxHANEVRzXKvEYhPOBu_90NxxamxU + G.eFig8PQFQIzOZwzN7KreILICiMNeZxRDoJdT5ouFy6t5fdNUYB_ee5byqg + wQxFpGY1oqjqnF8cKhoqXKbewhXnAHtruHmJctwcDFB6Z8Ky3trGEHXeFKUm + GDXN6bh1VT2YLVcWEmfzO3F.4zVSYcpsDkJD_a8_ywFNwxs.cXyhZyba4x7Y + 3X_XjCes4rCDftjcZuVBMiX3KYZNX.oooDLZBmsb3P.j1FQ8XIurzueTrFpE + O_dhyhgI.hOo8BweGv3a89eFdBCyhU1o7cEGK.mrU1sj3kX6d4FhfHmA8cGv + n50B5b94d3MpWSnSDFldjz0i2Jun6VUVYuG3yFqtsrf7ZnaTuxswub9SrhbO + mF02jK6oxTIWYUZEU8vgvciXeiS_YdSmJ1tzbeWJRFeo6ePbTbcZGmY- +X-Originating-IP: [74.6.131.123] +Received: from 10.220.180.155 (EHLO sonic311-13.consmr.mail.bf2.yahoo.com) (74.6.131.123) + by mta4011.aol.mail.ne1.yahoo.com with SMTPS; Wed, 10 Jun 2020 10:42:32 +0000 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=bounce; t=1591785751; bh=iNhZ8sZ9ZQS8RKoDRTbDsAW/YGN71KVQTVc/Xecb9UQ=; h=Date:From:To:Subject:From:Subject; b=IEjn12+yP0ddLWLojXRLLBx545x7trCIcmMiPuKViBb+UBCAT568e0nmwukVqF6FfeR4hcmWqISlyR22409sOckSZmf0+Fj3rgeaFAmhrl1l4P1uEdNSB4dMH3gcHxAN3DdTyUBQss2ZIyu7xnYJguCadQ1/1ELa865EtJJAkes= +Received: from sonic.gate.mail.ne1.yahoo.com by sonic311.consmr.mail.bf2.yahoo.com with HTTP; Wed, 10 Jun 2020 10:42:31 +0000 +Date: Wed, 10 Jun 2020 10:42:31 +0000 +From: MAILER-DAEMON@yahoo.com +To: deltachattestac@aol.com +Message-ID: <1266721401.228154.1591785751559@sonic311.consmr.mail.bf2.yahoo.com> +Subject: Failure Notice +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 7bit +Content-Length: 3322 + +Sorry, we were unable to deliver your message to the following address. + +: +550: 5.1.1 : Recipient address rejected: User unknown in virtual mailbox table + +--- Below this line is a copy of the message. + +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1591785750; bh=4ktMNgiiY0GHVCUgIv4TvXVESetaS2esyta25tCU5Rg=; h=Date:From:Reply-To:To:Subject:References:From:Subject; b=HLpgexVrsHu1BSnI+l+ob6hCyl2HRO3xPCLRg090QIR1LwMtMbccdjSSi6o17Qx1E/6Y0YHqHgDq+/vGxXZ72GyxHfimpHWYxfjhpgbuXxCbPZkcPejE1kjsR0LHLZ0lmHPuZYbY6pdpROfQC3jOwL616p0vhqZ4QwSTsQhmOBgydA85uIvTWqzjra0GNY5oS8k9CwSmE2N8bRPmEmZzkPytV2RimpEwylCy7IiJ7S6EURnyjxMO5uaZukNjh/XJLxzEEo1ief0EeYfYuq3BPTKHJf7FqV6Dzqu7bIbowVWBTTJ7eFAPUcDwoum5Yz5H63gp5ZFhghV0tDcAjSzOIA== +X-YMail-OSG: XrOprp8VM1l6O.1AuZ5z4b5aOZ5xPHdr1b50c6CBHbn7lnLF9ZdsolbJdKegkJi + NAXKKEdjXM4834uHoJ0tQijRGfPO2pZ8Ie0fgORrev_T1z0c9cmt92vSh2eH2CL3wpaY3nJBQqjL + XxcC3E7cmThUGmPXMCc8O6hYBtGJyyw0lFvegOkgNkIZ.VdHcMyCXoqzrLrTUx1AVI8j_5l7J_iL + wbrGBndP484r_S04WrvzM_i1yRg.Zl01q5o17SjS2vKn2mlLhZhNtBR1RyM9HmoZcEpOW0QesDHm + BLYBeag8wczZJBA6xuAVgLTwCkMHRCRqFMfb.22mpfY6HTwOP3EsG5.we8Ywe.7mSIVhfjozg9Bm + BR3qGGHKD7tJR4X8RFE.tRrnaJS_pUZ1frkJcxEpiau9VFvbTHm5QDltb5gLJUKcj1axNQcPOXF5 + 9lCbo04.yHhjrh.nBk0YmVAYR4.CtpnlgxFdB_ylCqy7cAVukViqvvYBE90PhmT2B8OZBK3LE8De + jvDIDmkyEe4vu6uE7AAlP.vOi5fFEtkGkGsI46uvUARICijKiIfVA5k7XeN3Ahz0Eil05w.kWPYv + SgA8r39ZLclSnGTn.bT5lz8toogaE.GeGz_ChdKT5MD9.1VFZVM1ir2RipJO1XPbBXGB2eWtTmje + WiuXY4ydHo.FusM7VREfyxfo7cUIFlcNwidJGSKYG3YQbj8Gx3ZFDBzW2rOqRhXLWNMbA4owKTiZ + FtcZTwSiGZvUefyMf0c_FWTLdgz.ZNyuDnMEqdAymAxX9vlTtA7pY8EPPC3TwHFG6Zrk2w_UA7Wv + mxfZbbCz26O4_1CnByCh1YBbb8ijWLCq3ZjnNcHSwdSZMpuysG3hAd42R.xNHM.W69WS6m0LnwQj + cnaoTVl6T1Me5EkWX7Z8i75nhIwV1csc74lFgb_.5uDjRKFjmA3KUu5UWDCiWjjWqEeMf6Fsl1nQ + ltXet3ZdssaDjmXfMncHv4Qz7nmH4z_QYovap4SApHUQjPgPPVZHsofmikIugjtzeXqM4OFN0xjZ + 0GzjH9W4EqGlWY29nwPOswrB429jvMHA5R.mBTS6mUBmYm924n4v9yJ2TUTOy4Vh.65Ngd8AsGgm + 75u125bogA5MKHMPGfWpnrys9lCyq3mmhtkkc58R3PYfX0iBXjdP7diVMQhjGgqZMPBbDhDzbECx + mlgcqfqVGwyOmWmKe0OUFjyMVxYV9DwucWIKA.sd02NWEZhDzoQ3CHkaedi3i3YAePx9jbNnNIuo + MY.d8jQDDBQxMtPcece79VtoHLAjwKNT5cSzlvpgJHNtVyOpWjOQ- +Received: from sonic.gate.mail.ne1.yahoo.com by sonic311.consmr.mail.bf2.yahoo.com with HTTP; Wed, 10 Jun 2020 10:42:30 +0000 +Date: Wed, 10 Jun 2020 10:42:27 +0000 (UTC) +From: Delta Chat Test +Reply-To: Delta Chat Test +To: "hsnaeirternaeiho@testrun.org" +Message-ID: <1772450882.1447284.1591785747540@mail.yahoo.com> +Subject: test +MIME-Version: 1.0 +Content-Type: multipart/alternative; + boundary="----=_Part_1447283_353296880.1591785747539" +References: <1772450882.1447284.1591785747540.ref@mail.yahoo.com> +X-Mailer: WebService/1.1.16072 aolwebmail Mozilla/5.0 (X11; Linux x86_64; rv:77.0) Gecko/20100101 Firefox/77.0 +Content-Length: 418 + +------=_Part_1447283_353296880.1591785747539 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 7bit + +test +------=_Part_1447283_353296880.1591785747539 +Content-Type: text/html; charset=UTF-8 +Content-Transfer-Encoding: 7bit + + +
test
+ +------=_Part_1447283_353296880.1591785747539-- diff --git a/test-data/message/gmail_ndn_group.eml b/test-data/message/gmail_ndn_group.eml new file mode 100644 index 000000000..77b66a26d --- /dev/null +++ b/test-data/message/gmail_ndn_group.eml @@ -0,0 +1,242 @@ +Delivered-To: alice@gmail.com +Received: by 2002:a02:6629:0:0:0:0:0 with SMTP id k41csp368502jac; + Wed, 10 Jun 2020 05:17:57 -0700 (PDT) +X-Received: by 2002:a6b:1448:: with SMTP id 69mr2898530iou.83.1591791475733; + Wed, 10 Jun 2020 05:17:55 -0700 (PDT) +ARC-Seal: i=1; a=rsa-sha256; t=1591791475; cv=none; + d=google.com; s=arc-20160816; + b=a0vSKJPbMtGYFnuk1ye/gnnV00Zvva4OOJTMOyfm13xMJD0YAhzGVfa7Z+wn5sQ8dw + VAxpmDHCkjp4jol0C1iutiq2Nl0qma819oFPuuoMLLatKQXHpo8Jt+sL3MnwNR7J5bZC + 1c6Fjk75EIsRWhJd1HCkm44A6UYHxqqsTnzQCaNiHbjsRsvbggxwlMGSrZ4silxqSDvo + Pzd/YDLCvsnZNSNIjIckKAwtGmY6sXctZ+JnOTykXAyL32Milfwy1vRL9xm10Q14biTR + +qaIQp4E6WE63g1WHvfAjs0Dru7DalUh4GGl/NAwqVhY1gVyRD5E9/nODyHAfxjvaxDD + 4sMw== +ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; + h=in-reply-to:references:subject:from:date:message-id:auto-submitted + :to:dkim-signature; + bh=XaR1H4XeD+InO7mULPJn53omDGmxN+KG6DbSxyyErPM=; + b=OJbgbrktMKyczw25z/ib7lSdRX80PEK3Myh9fj4q6mDlXmPPv//Gv069znRQ4QbadM + HUXZH0WLMZcGyqI6SvGL/noxQ1O8yP0FYJJKTkoX0Gk2hHzfaE3x1scOP/o2FMMQXIFm + S4CgGBD6HHzBJYj/rSL3gzqLzx1Id/z5kTeDvH2cn8JJAcCE2q/nhjTyWUb87geoNlDJ + A1HRrLHK/0JOyRjHfg2zZCqIvSi1xmpiHStMyL9mfVyrQs98tsPxaOkJHjLplFARoPlr + mmmDvsFg7MPvFqkkANzz4JDHidnfKRULCgnrVj1yTU66UagUpQEGjZqz8/99YuU6nt1t + 81sQ== +ARC-Authentication-Results: i=1; mx.google.com; + dkim=pass header.i=@googlemail.com header.s=20161025 header.b=aO4aNy7C; + spf=pass (google.com: best guess record for domain of postmaster@mail-sor-f69.google.com designates 209.85.220.69 as permitted sender) smtp.helo=mail-sor-f69.google.com; + dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=googlemail.com +Return-Path: <> +Received: from mail-sor-f69.google.com (mail-sor-f69.google.com. [209.85.220.69]) + by mx.google.com with SMTPS id w14sor16686480iow.23.2020.06.10.05.17.55 + for + (Google Transport Security); + Wed, 10 Jun 2020 05:17:55 -0700 (PDT) +Received-SPF: pass (google.com: best guess record for domain of postmaster@mail-sor-f69.google.com designates 209.85.220.69 as permitted sender) client-ip=209.85.220.69; +Authentication-Results: mx.google.com; + dkim=pass header.i=@googlemail.com header.s=20161025 header.b=aO4aNy7C; + spf=pass (google.com: best guess record for domain of postmaster@mail-sor-f69.google.com designates 209.85.220.69 as permitted sender) smtp.helo=mail-sor-f69.google.com; + dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=googlemail.com +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=googlemail.com; s=20161025; + h=to:auto-submitted:message-id:date:from:subject:references + :in-reply-to; + bh=XaR1H4XeD+InO7mULPJn53omDGmxN+KG6DbSxyyErPM=; + b=aO4aNy7CUOk9O4Jnsue/DvMFY6Ph0C34AbpoxJH+mLZpOmt/KYGCGYWgunZgamF15U + Vm8JY5yLKGwkTz2m3abDnKNP4fpl6zeZ5fyk5LvXH2Jema0iocHai6pJZBoFGPnonNmd + MscTf1sEltbOxwfOmM1BRHX34c1jW0+8Yd2+Nhg2DPvzuq1brOVin6bUV4VX5EeeuNqT + ZTewjJVPmO/B5NQhdpG81FO5w4hKSQ/VzZXnap2thMf3gOmnaoR+tbsnOIAiklcLdJ7b + 57SKUwI041pwSmh9dffs0STl2GvMRSJyGCtBqMnzXgflqoGTcnPflWgR3LXHM/MIA0q8 + WqRQ== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20161025; + h=x-gm-message-state:to:auto-submitted:message-id:date:from:subject + :references:in-reply-to; + bh=XaR1H4XeD+InO7mULPJn53omDGmxN+KG6DbSxyyErPM=; + b=iORAzNvXegQ8oSp4RYb/S168muAiBox769seMk49kDBIvXwI+N8P4mUZq/zDi8DmQd + +wlLzVzowQq6EofiSpjOJWT9IC/k8otk15PMGtgHE4BGSSeKn7L30d3ocQS93HzYnLmA + VBlHBdFTKrsfKhe2+CQyCosTDGRpbkQLuRRyhxChEq8ltvaOHgbu1+eCeb9PsPuh6OxH + kvTHJZeA9A+eLOl26pBmqGIWkr7FlYW0wI6YPoEs9WXX5LSFOQs6fm/9l366eIR7IFFI + ihX5LrZl/Cf0lwwYX7fqIMgnHy1K+QnKuEb+dRQGqLbxdIEls9bXIF98iPQVkEWzgSZy + ip8Q== +X-Gm-Message-State: AOAM531ahfHE6oS9/nuni8pNf9bwC+DXAcaLV0owBwNCj9kcTPLCCNhX + W1JNciK0ivEIVB4dgiyLE/5K7iKbEznQhqyG9Bi1QA== +X-Google-Smtp-Source: ABdhPJygljUXswH0ycJyHmXVthi5IjlDvP8QdYlMdHUPKEtgIZeUk69Acti5LnswGhg63T9/L0PuGZGBM5XE5BsP0mMNNDRZyt+DgnE= +X-Received: by 2002:a05:6638:101c:: with SMTP id r28mr2990163jab.84.1591791475516; + Wed, 10 Jun 2020 05:17:55 -0700 (PDT) +Content-Type: multipart/report; boundary="00000000000074432a05a7b9d512"; report-type=delivery-status +To: alice@gmail.com +Received: by 2002:a05:6638:101c:: with SMTP id r28mr3059870jab.84; Wed, 10 Jun + 2020 05:17:55 -0700 (PDT) +Return-Path: <> +Auto-Submitted: auto-replied +Message-ID: <5ee0cf73.1c69fb81.6888.c2f4.GMR@mx.google.com> +Date: Wed, 10 Jun 2020 05:17:55 -0700 (PDT) +From: Mail Delivery Subsystem +Subject: Delivery Status Notification (Failure) +References: +In-Reply-To: +X-Failed-Recipients: assidhfaaspocwaeofi@gmail.com + +--00000000000074432a05a7b9d512 +Content-Type: multipart/related; boundary="000000000000745e0805a7b9d51b" + +--000000000000745e0805a7b9d51b +Content-Type: multipart/alternative; boundary="000000000000745e1705a7b9d51c" + +--000000000000745e1705a7b9d51c +Content-Type: text/plain; charset="UTF-8" + + +** Die Adresse wurde nicht gefunden ** + +Ihre Nachricht wurde nicht an assidhfaaspocwaeofi@gmail.com zugestellt, weil die Adresse nicht gefunden wurde oder keine E-Mails empfangen kann. + +Hier erfahren Sie mehr: https://support.google.com/mail/?p=NoSuchUser + +Antwort: + +550 5.1.1 The email account that you tried to reach does not exist. Please try double-checking the recipient's email address for typos or unnecessary spaces. Learn more at https://support.google.com/mail/?p=NoSuchUser h20sor9401601jar.6 - gsmtp + +--000000000000745e1705a7b9d51c +Content-Type: text/html; charset="UTF-8" + + + + + + + + + + + + + + + + +--000000000000745e1705a7b9d51c-- +--000000000000745e0805a7b9d51b +Content-Type: image/png; name="icon.png" +Content-Disposition: attachment; filename="icon.png" +Content-Transfer-Encoding: base64 +Content-ID: + +iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAYAAADnRuK4AAAACXBIWXMAABYlAAAWJQFJUiTwAAAA +GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABTdJREFUeNrsnD9sFEcUh5+PRMqZ +yA0SPhAUQAQFUkyTgiBASARo6QApqVIkfdxGFJFSgGhJAUIiBaQB0ZIOKVCkwUgURjIg2fxL4kS+ +YDvkbC/388bi8N16Z4/d7J/5PsniuD3fyePP772ZeTsDQRAYQL/UGAJAIEAgQCBAIAAEAgQCBAIE +AkAgyJT3Mv+Eq7vYK8mTE+MDRCAghQECAeRQA5V2ZOpmg5vDx3NPzRbmGRMEcmTrEbNNB8zWfRD+ +f/Efs2e3zCZvMjaksBg27TfbcuSNPEKP9ZyuAQKtHX2O9ncNgWC57umMPKvRNb0GEKgnLoUyxTQC +rcns0/6uIRAs8/hGf9cQCJZpTpjdO2f25/03z+mxntM1eLtsZAgiUtX4JcaBCAQIBAgECARQ8CJa +G5jab4J4pm4WZmO3OALVh802fIwcLkyPkcKAGggAgQCBAIEAgQCBABAIEAjKA/1AnahhbO5FdOOY +VsrrDbPBYcYKgf5D2wLaV3p+22xh1u17tO3S+DTcvxvagUDeivPgx/a/95J/73w7Sj26Hn4pKo2M +ehuV/KyBJM6d0f7k6RKx/R63vvL2tmf/ItDdM2ZTP6f7nkp9Y2fDx1v9akmpIU+KSCLVUghUQfSL +zVKeTklbLxGoctw/nzC5rw8L5KRNbkpnKq6pgSqEClzNnFzY+XnYWrt6VpVk1vbwWvg+RKCKMOUw +Q1LEOXA+/MX3mpJvGDHb265xtnzmFoUK1HaKQGlMtePYM+q2KKjXuaS1NJYIEKgI8jhEgqHt4cqy +Ky53j3hyHz2bqSLp2o2LbJ7MxKovkGqXteoWpaOk96O9/yF/dF7NwlS36AuIQIBA5celQK4PIxBE +4LLzrtoLgaALdSy6CJRkWQCBPGLsTHznomZ9nszUECgJ2ml3WWHe+QVFNPSQx6UdZNtxr9pbEShN +eTTz8mQXHoHSlke7+Z+c9m6VGoHSkEfs/trLW3wQKApN1V3lGfnGu2Z6BFoLtYCs3GWBPAiUCLVh +/HoaeRCoT9R873KLM/IgUBfapnCpe5AHgXry4pf412ihEHkQqCdxd5VqrcezhUIESsJMTJ+Pdthp +Z0WgyNlXXPHc2Mc4IVAELl2Gnh8mhUDvCkfbIVAkcbf/aOoO3fMKhqAD3frTa4quwpn0hUDOkQhI +YYBAgECAQAAU0QlYObl+5Ug8NcprZkZxjUCxRPVA6zmtEXHCBykskrhjgHXN09PoEcgFl4M4H11j +nBAoApcj6ZoPGScEAgTKApcDoTw5sgWB+sGlz1n90IBAPdE6j1o21PfcC11jLagL1oFWRyGlKU3p +OxcSJQ7NZAjkhHp/uG2HFAYIBAgECASAQIBAgECAQAAIBOkxEARBtp9wdVfAMOfIifEBIhCQwgCB +ABAI0oV2jhxZ+nfBatuPZfgBCy0Eqqo8c01b+uu51XZvzOgDWoHNTGR+pCwpLEd5svuAZXlO2uEr +PyEQ8hRWHgRCHmqg0sjTnLalv6crJQ8C/U8stqNO0I4+VZOHFIY8COS1PGL2ybd5yUMKK7s8zYmL +dujyd3n+nESgcsvzZd4/KwIhDwIhT35QA6UyE1qyxZnfvJMHgdKS549JC1qvvJOHFIY8CFR5eV5O +XimqPAhUdHnmfx+zgxdOFXkoqIGKKs/cswnb/8Oeog8HEai48nxUhiFBIORBIOShBioskkbySCLk +IQIhDwIhj28p7FApR6b1qlEbHGpkO/rr6215vi/zH1r2x7tApSGFAQIBAgECAQIBIBAgECAQIBBA +LK8FGADCTxYrr+EVJgAAAABJRU5ErkJggg== +--000000000000745e0805a7b9d51b-- +--00000000000074432a05a7b9d512 +Content-Type: message/delivery-status + +Reporting-MTA: dns; googlemail.com +Arrival-Date: Wed, 10 Jun 2020 05:17:55 -0700 (PDT) +X-Original-Message-ID: + +Final-Recipient: rfc822; assidhfaaspocwaeofi@gmail.com +Action: failed +Status: 5.1.1 +Diagnostic-Code: smtp; 550-5.1.1 The email account that you tried to reach does not exist. Please try + 550-5.1.1 double-checking the recipient's email address for typos or + 550-5.1.1 unnecessary spaces. Learn more at + 550 5.1.1 https://support.google.com/mail/?p=NoSuchUser h20sor9401601jar.6 - gsmtp +Last-Attempt-Date: Wed, 10 Jun 2020 05:17:55 -0700 (PDT) + +--00000000000074432a05a7b9d512 +Content-Type: message/rfc822 + +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=gmail.com; s=20161025; + h=mime-version:from:date:message-id:subject:to; + bh=Y1ylbv3YC5frF/LtF2it4tQQ0OVZstDdWqivvggIOB0=; + b=eyr60XbgOrgHoZFpRYzw9WQIR7aEBaYKWhiEcqdnugB+hn0W2KVcTkKiL2C6zSF+jh + l+lM+dNZZTUcMqWx4kVgTVtqwUNea8OUqe+WLqx04ULwdKZn1okbKYovaiavCLKOKDnf + ZP5mNz3Ka/ywpCGoq8rdgnXc7NunnkWeaBpYY/BWOmLU4WNXX8zS7etXXhQE4YPQEJT4 + Sh2o/YIIjDLncJFMyE+25n3tbd2mIoLt4sjaCHE5ibm9w7zojyHM+LDCQ37cM74FEAAa + 88KTn0gSnCFBCfojhfxOH78CpySHG3FFfTlpCefwP2A5J9MQlb6QdSVa9STYSx3IntJ4 + L7Tg== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20161025; + h=x-gm-message-state:mime-version:from:date:message-id:subject:to; + bh=Y1ylbv3YC5frF/LtF2it4tQQ0OVZstDdWqivvggIOB0=; + b=pBL4/bKUDw5E2zo1uR2Tl69h2iTlMgIAcnzQgodPCbU4jZ9kH+F5H9rfbzXCjT06J7 + L72SYpdfgc5fOwM4GhRcdYnyK3wiXQ8ugpL19nbYt2iWo/vRF3GidawXXDGb2GUYpkzX + 1Mz531cy2/HOsmQbUQ7304KV+OUghtcg8eLNnFuhQch7n12Kk3yy3AOzjrLoktcdgIsy + /HxBjyut0Au+A2t6si+PVwTHvC647a0BioeV0tUYLigzu3/jgP9Hb8eRZaXTX5VC6iZi + 9QMH/+rXp05IK7OpGWh22xDpeV8CDkQ2sLFaBhKxtJ+nYoerM64t8EJXBBsVQb18ojGz + pW/A== +X-Gm-Message-State: AOAM5330q6kn/TKataMNEVigNfNdr/xii/PQgHXzJyMbwLvsETlNfLoy + 1rM9JBIGrcHeEDRx4qhZfl5S4bircceU7c3i6Fyn2fRO +X-Google-Smtp-Source: ABdhPJwysG+S90b/g+9mK7LgeHhmJTBowst6JMhL16+a0coTi7P1NVp9jjaNHJfhvhLodYG6eHIvWdbQGJnAP2brEzI= +X-Received: by 2002:a05:6638:101c:: with SMTP id r28mr2990137jab.84.1591791475066; + Wed, 10 Jun 2020 05:17:55 -0700 (PDT) +MIME-Version: 1.0 +From: Deltachat Test +Date: Wed, 10 Jun 2020 14:18:26 +0200 +Message-ID: +Subject: test +To: bob@example.org, assidhfaaspocwaeofi@gmail.com +Content-Type: multipart/alternative; boundary="0000000000006d8d7d05a7b9d5b3" + +--0000000000006d8d7d05a7b9d5b3 +Content-Type: text/plain; charset="UTF-8" + +test + +--0000000000006d8d7d05a7b9d5b3 +Content-Type: text/html; charset="UTF-8" + +
test
+ +--0000000000006d8d7d05a7b9d5b3-- + +--00000000000074432a05a7b9d512-- diff --git a/test-data/message/yahoo_ndn.eml b/test-data/message/yahoo_ndn.eml new file mode 100644 index 000000000..5f88d7497 --- /dev/null +++ b/test-data/message/yahoo_ndn.eml @@ -0,0 +1,100 @@ +X-Atlas-Received: from 10.218.250.153 by atlas222.free.mail.ne1.yahoo.com with http; Wed, 10 Jun 2020 10:11:23 +0000 +Return-Path: <> +Received: from 77.238.177.145 (EHLO sonic314-19.consmr.mail.ir2.yahoo.com) + by atlas222.free.mail.ne1.yahoo.com with SMTPs; Wed, 10 Jun 2020 10:11:23 +0000 +X-Originating-Ip: [77.238.177.145] +Received-SPF: none (domain of sonic314-19.consmr.mail.ir2.yahoo.com does not designate permitted sender hosts) +Authentication-Results: atlas222.free.mail.ne1.yahoo.com; + dkim=pass header.i=@yahoo.com header.s=@bounce; + spf=none smtp.mailfrom=sonic314-19.consmr.mail.ir2.yahoo.com; + dmarc=success(p=REJECT) header.from=yahoo.com; +X-Apparently-To: alice@yahoo.com; Wed, 10 Jun 2020 10:11:23 +0000 +X-YMailISG: RT5ZnycWLDvIW52uqHS_EWNgl31NdJPyLLB2F4SYb1GCAoo9 + pcninuVU5GDMBZykeMT4cSUt4ZqXxS5FdEeWJqtGIAtbEGbIL8Uhcoszqm4m + JuMJiQZwEE7W_fsS_9MUK5gZtMkhKkSnAuaeaOLKNYAwFZdBqA0uEYA5EmVf + EC9J4RGQ4hZvrMqMj_W.cj4pvbEC.pyirLxTfkICuUkZVguYoxG16y1EOJPw + B48fhXvF5ErU7WAHKxyRM3bMOg7b5pXHKn1dtRSVAXEuqBAQrWig1pePpYH1 + wO54sYT7cgmdiFvfLY5rR7YcBzopmKJBycKzBVoRLCY4gvoNyTLPKx9o3AAz + WU4B7TGejDBElYSLpfnyvQg8wU27zzo2IVBZWUNztP0Ca8CQ07Y7TxUZAO.f + DNO5c7nd81PHMRDbSeaw1BTV2Yd9vlBc7syYmwGvtVBJQwRU7qPN.DpFO2jC + 9j9DytVhm5231gdBBRSzW78yG.VvaIdJgq_YViKNM9VxFseTz3Sjt3TaYznP + gAVq.MxpopNsSZf_tedwAhXDWyrjKsRPK.v2ANivmuWGPednniEaMYhxJ05M + _5SnJ.hAU.l6h3HCEfiU.SH390_3tZgYNfxCo4GPPFMfnNPmKa3.rgpChBCz + 9CRexJ8BSFyCEeAhuqQ8vSJfSuittJmXvS6Tk8Rxd9HUJAtKzZ.xCWZQ4tA6 + Yp2aRG23_rK_C6hH8ArkkvbG.uVQTt6DltSX6avJLObBfIhBH0x64RoFjGee + vYXxM741Okm0jH7r79c8GhnAwas_bwfkaTW9e1nhYP0eyI36z_QwLYgOH3Mm + LrUcejpOMDR60QWDuDyRbWXOJdr3Q2K0ERhuAy6YnINq0sL3HX7t5wjsFLvp + _7Ri_eruTfIst4C7DZwERwui6aDSEAdF1Z8oZukBVmiyZsHmhJQCUik646iy + 3ASMR3lX7R3q2PBHQo2oC3qte8Fzz1FhKoMtfCGtIpeCazlkhDEJ6eTBSQ3R + Pe7M_GPiv3QNp7qu5CWHlzy6hWEKIkNwx.WRGYzfxkyJMmJm4UrhQYUfa4lG + Wb8n.mfYnS_KGYtzyRFNqAL0IGo.1MB9aG6qQk456Fz9GJgbHLWrMXVtyfrr + Uo7mKih8FCrdUKv5X6KBnpY0vvyoH5jrWyrvo3DW0bq_JvZ9U51JwUhoGY5U + c1t.yCSJbs8tnrGZHuUTOvouWzpCAJsk34AqRyH0wDJZQsAwBW5UZ3jx8ARA + FicoSqZCa4wEP9WaaXvfzFbmLW0- +X-Originating-IP: [77.238.177.145] +Received: from 10.217.135.165 (EHLO sonic314-19.consmr.mail.ir2.yahoo.com) (77.238.177.145) + by mta4277.mail.ne1.yahoo.com with SMTPS; Wed, 10 Jun 2020 10:11:21 +0000 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=bounce; t=1591783879; bh=4BmZzBC/nu0AJ9r0i0xNuCENks2KZcuXCbjSHdzbg9Y=; h=Date:From:To:Subject:From:Subject; b=lPxu8goOGOLVgnwbndfdptZ7zI5VEo0lSSr+ONGxwdtuhrySKDU6Sp41/g6jWbAiVPT1947j/B5wOlPfa5tv4XkWrGf0JCbT1I20ZJIkNfNwt4F0qPnbJAiHFIDPxcY68utjC9IgPWJd0cGqJNXbFwbJBu88rtrbMoInzLakh5I= +Received: from sonic.gate.mail.ne1.yahoo.com by sonic314.consmr.mail.ir2.yahoo.com with HTTP; Wed, 10 Jun 2020 10:11:19 +0000 +Date: Wed, 10 Jun 2020 10:11:19 +0000 +From: MAILER-DAEMON@yahoo.com +To: alice@yahoo.com +Message-ID: <1713051795.39992.1591783879940@sonic314.consmr.mail.ir2.yahoo.com> +Subject: Failure Notice +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 7bit +Content-Length: 3347 + +Sorry, we were unable to deliver your message to the following address. + +: +554: delivery error: dd Not a valid recipient - atlas117.free.mail.ne1.yahoo.com + +--- Below this line is a copy of the message. + +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1591783876; bh=kXD6TZuQDjqZf/AEAJ2HCX32Titkj3IywytG6GSm4yQ=; h=Date:From:To:Subject:References:From:Subject; b=PexnIBxnVSkyutv/jVn+Wlt5QPuVHnWleP3baWlvqkXaKR51pCaZIoGJggMEonitEeJkcYpgplBawEBz0hlGf63NqOHHkxUk6U1olwc0y9kj5kDH5lrORgXrf7U4z5t+i5n0II36MxbG9n/5tDRXoiabLFoWx//3O9x/ZJvVWPlq8RBFzVG8aoL2TkBQAVcqX/vW1f3WJuopaUYWB4AzR3TyuC2kVQPFqbPMk+G/VmyuZFmZesh1bSBva5hdKYLxES5v8hvTIDRqSYZrnZ4V67MqicZ8m229Xf4Za8qOE+a2Z+Vv5VrQ+CjjPZwRAcmKHkLY80VCSkpeL2R2YG4APg== +X-YMail-OSG: 4spnw98VM1k_g51CM6oepdNEMiPFRtZ0ZG_zOBGIlhcNvS1mkzr8l8VTB0CY_Q0 + dR52ikl7QVYESerRQgcGqBfLwKpem7i1XSrCl2HuyHeWzF6Gu5MqFPMCak.v8GyDXNO075NEwNt1 + i18CJ29cEjiHthoamgmj0oqerAglglKRhTuuAFy4wUmZZm7VyvaW4wHUD1g7DeWGijQsCglSYMUK + CmoFcKsWOZBSYPMkp7iRwUp52pXHFin3qf4uQ27K_Sh.6s7KLAfWVkV7L_5AR3MyCPAVzm71.1yG + G7Vy5HSBgGMQ90B7VbcjOkCg3F4JNl4Z_P2ejV1KZ.tNoPLgO.FmsfFy1OXBGf3m2mDmRcuEO4K2 + mTRhsjZf.2iiWpx02b3tY.oUtYrIBXBVIFPbTB9sBMn_9Z_qdVmO3gjD6gCPEBzuVvEO0eZIrgaw + EDTZt8Z9tSRDm1.4gV8LWQBYShF7XuMV0togiLYIO8s_iTHcTbhKhPlwxP.mxr06xcx_9kzReVTL + 9lB1FkB5Jm0WccWHGhLBqeMjGDoaNqPxLqJ.1tI58tLXsPoR6m1NFVEdzI1G.4AVBeXZ_9BjgUhm + KY33sEg.GwIjUlWWWuSyRZ1q1K2nqi1z29wH2R1Glmdmx0lyqfMg9Xe8HV7YZu2CuZ8SlDLLB.rX + NU4PwMsNfU6pK2HejQPsJuyOlI5Q824rXRF5xTLYKsYcQptoFXyLe6MXKW1ThBLQV2nWYDRs_V.e + SBmt22TfuOwu4Y5ju0sXmztZ8zpiIC8_rnAa5bVBEHxzkic64UZdukDX9V12Pk3G2sGYRyPTH472 + wBX33JpDuq6BtrKr4FXjCLeVppARTHpiKM0jHMjmNf1bF0TvrcCsC9zAYtitAqgcGZNFETNuV3KM + 57XifdDEwUPOuww0ApSWO.iwP2POvIRBVlrxdgA8MbLmuuX4UxNCw23z1f7MVY6F3L60LUrX5GZO + aKaMmD1XTzx32J6c_TUmyuViT5vphqpEooTzHG2X7ALb4xC8yHlE4wDKyaEDARZ.8P2lO9T18oCz + OQvJjwDaLOkeAmo23yRMn70bYJK3tP9Z5cS1C0TE8PEtz4sd1syQUIZZ2g8JG_AQcE4lUZSZlIKN + AHjB8h8Uin35zKe0Le1DBjdQUmpgAETlmYE7V0nJDEmagB3dtpbokgRBuuBfhXlFpxHcnAmBFFFm + XOSLWEPnmxu2o8CCjjz3QUBy2fr3EI_D2VFpy..MuZgRwtES.l24m_95xtQxI28R4SWZN6LsS_rr + 1S33BJCCCAfXtCAFzCfz5.qSzHRYbLdY5do6yKj0pPLQTUTjlMwmCUGPcSJhsyxkkEVIK1W_Z16R + ZRls- +Received: from sonic.gate.mail.ne1.yahoo.com by sonic314.consmr.mail.ir2.yahoo.com with HTTP; Wed, 10 Jun 2020 10:11:16 +0000 +Date: Wed, 10 Jun 2020 10:11:12 +0000 (UTC) +From: Delta Chat Test +To: "haeclirth.sinoenrat@yahoo.com" +Message-ID: <1680295672.3657931.1591783872936@mail.yahoo.com> +Subject: test +MIME-Version: 1.0 +Content-Type: multipart/alternative; + boundary="----=_Part_3657930_145367320.1591783872935" +References: <1680295672.3657931.1591783872936.ref@mail.yahoo.com> +X-Mailer: WebService/1.1.16072 YMailNorrin Mozilla/5.0 (X11; Linux x86_64; rv:77.0) Gecko/20100101 Firefox/77.0 +Content-Length: 494 + +------=_Part_3657930_145367320.1591783872935 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 7bit + +test + +------=_Part_3657930_145367320.1591783872935 +Content-Type: text/html; charset=UTF-8 +Content-Transfer-Encoding: 7bit + +
test
+------=_Part_3657930_145367320.1591783872935--