Skip to content

Commit 75f98cd

Browse files
Update parser to accept Header Only, without add Leaf Part of e-mail.
1 parent ee75b61 commit 75f98cd

6 files changed

Lines changed: 91 additions & 0 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ ipch/
4848
*.psess
4949
*.vsp
5050
*.vspx
51+
.vs
5152

5253
# Guidance Automation Toolkit
5354
*.gpState
-2.28 MB
Binary file not shown.

Class Library/ActiveUp.Net.Common/Parser.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,8 @@ private static void DispatchPart(MimePart part, ref Message message)
297297
#endif
298298
}
299299

300+
// If is an empty content, return without add part.
301+
if (part.BinaryContent.Length == 0 && part?.ContentName == null && string.IsNullOrWhiteSpace(part?.Filename)) return;
300302
// Anyway, this is a leaf part of the message.
301303
message.LeafMimeParts.Add(part);
302304
}

Class Library/ActiveUp.Net.Tests/ActiveUp.Net.Tests.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,9 @@
112112
<None Include="resource\content-transfer-encode-8bit.eml">
113113
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
114114
</None>
115+
<None Include="resource\only_header_2.eml">
116+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
117+
</None>
115118
<None Include="resource\image-as-body-part.eml">
116119
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
117120
</None>

Class Library/ActiveUp.Net.Tests/Common/ParserTests.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,10 +250,25 @@ public void MustParseEmlWithContentTransferEncode8BitUtf8FlowedHistory()
250250
public void MustParseEmlContainingOnlyHeaders()
251251
{
252252
var message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\only_header.eml");
253+
Assert.AreEqual("[email protected]", message.From.Email);
253254
Assert.AreEqual("[email protected]", message.MessageId);
254255
Assert.AreEqual("I'm put all my text message on subject, then no has body in this e-mail. second line exists too.", message.Subject);
255256
Assert.IsTrue(string.IsNullOrWhiteSpace(message.BodyText.Text));
256257
Assert.IsTrue(string.IsNullOrWhiteSpace(message.BodyHtml.Text));
258+
Assert.AreEqual(0, message.Attachments.Count);
259+
}
260+
261+
[Test(Description = "")]
262+
public void MustParseEmlContainingOnlyHeaders2()
263+
{
264+
var message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\only_header_2.eml");
265+
Assert.AreEqual("[email protected]", message.From.Email);
266+
Assert.AreEqual("d38c1c1f-abdc-483e-b8b5-cb95c65c2eeb@CY1NAM02FT029.eop-nam02.prod.protection.outlook.com", message.MessageId);
267+
Assert.AreEqual("Conclua sua pos em 6 meses!!!", message.Subject);
268+
Assert.IsTrue(string.IsNullOrWhiteSpace(message.BodyText.Text));
269+
Assert.IsTrue(string.IsNullOrWhiteSpace(message.BodyHtml.Text));
270+
Assert.AreEqual(0, message.Attachments.Count);
271+
Assert.AreEqual(0, message.LeafMimeParts.Count);
257272
}
258273
}
259274
}
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hostway.travel;
2+
s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;
3+
bh=47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=;
4+
b=JIAhrdolQUVfO4Q3xKUZ2UqFmDgMuG7QPLpz6Jch9jBiwpcdzzwFuGSC0ys1xQm3dfOyM54NieAyJ9Mv64LGU4VxN1ewKMDIgdz1zleYnRwMnfO6p4yokx25ubyb02BCI1MAUXflRLBsU0LJ5kKyX/fZgRAtAU3UmyFL23tu0+Q=
5+
Resent-From: <[email protected]>
6+
Received: from CP2PR80CA0150.lamprd80.prod.outlook.com (10.165.252.16) by
7+
RO1PR80MB0106.lamprd80.prod.outlook.com (10.164.233.15) with Microsoft SMTP
8+
Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id
9+
15.20.218.12; Tue, 14 Nov 2017 12:53:11 +0000
10+
Received: from CY1NAM02FT029.eop-nam02.prod.protection.outlook.com
11+
(2a01:111:f400:7e45::200) by CP2PR80CA0150.outlook.office365.com
12+
(2603:10d6:102:2d::16) with Microsoft SMTP Server (version=TLS1_2,
13+
cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.218.12 via Frontend
14+
Transport; Tue, 14 Nov 2017 12:53:10 +0000
15+
Authentication-Results: spf=none (sender IP is 154.16.167.2)
16+
smtp.mailfrom=abidos.com.br; hostwayviagens.com.br; dkim=none (message not
17+
signed) header.d=none;hostwayviagens.com.br; dmarc=none action=none
18+
header.from=abidos.com.br;
19+
Received-SPF: None (protection.outlook.com: abidos.com.br does not designate
20+
permitted sender hosts)
21+
Received: from mail.supermercadodeofertas.com.br (154.16.167.2) by
22+
CY1NAM02FT029.mail.protection.outlook.com (10.152.75.143) with Microsoft SMTP
23+
Server id 15.20.197.9 via Frontend Transport; Tue, 14 Nov 2017 12:53:09 +0000
24+
From: Faculdade Faveni <[email protected]>
25+
26+
Subject: =?UTF-8?B?Q29uY2x1YSBzdWEgcG9zIGVtIDYgbWVzZXMhISE=?=
27+
Date: Tue, 14 Nov 2017 12:53:08 +0000
28+
X-Ref-1: Cvl5H O6K
29+
Reply-To: <[email protected]>
30+
Return-Path: [email protected]
31+
List-Unsubscribe: <mailto:[email protected]>
32+
Content-Type: text/html; charset="iso-8859-1"
33+
Content-Transfer-Encoding: base64
34+
Message-ID: <d38c1c1f-abdc-483e-b8b5-cb95c65c2eeb@CY1NAM02FT029.eop-nam02.prod.protection.outlook.com>
35+
X-EOPAttributedMessage: 0
36+
X-EOPTenantAttributedMessage: c709a8cf-ebee-4c19-a146-0139aa7878ea:0
37+
X-Forefront-Antispam-Report:
38+
CIP:154.16.167.2;IPV:NLI;CTRY:US;EFV:NLI;SFV:SPM;SFS:(6009001)(5340300001)(2980300002)(1130300004)(428002)(596005)(359002)(189002)(199003)(349900001)(349012);DIR:INB;SFP:;SCL:9;SRVR:RO1PR80MB0106;H:mail.supermercadodeofertas.com.br;FPR:;SPF:None;PTR:mail.supermercadodeofertas.com.br;MX:1;A:1;CAT:BULK;LANG:pt;
39+
X-Microsoft-Exchange-Diagnostics: 1;CY1NAM02FT029;1:5iB2mHzYdLSfWpys5C1W2zYscpk7aAsHRSBTdlDvUaPaquE3BTfEQ6v29UtYzPw28TC9xq5OWwgs80FBDoL69UzudG+bYPmtah5+svLY6iWkQXUcaYj6GRIsOyQRBPeK
40+
MIME-Version: 1.0
41+
X-MS-PublicTrafficType: Email
42+
X-MS-Office365-Filtering-Correlation-Id: dd2959b8-1db5-444a-02ac-08d52b5ea8ad
43+
X-Microsoft-Antispam:
44+
UriScan:;BCL:9;PCL:0;RULEID:(22001)(23075)(4534020)(71702078);SRVR:RO1PR80MB0106;
45+
X-Microsoft-Exchange-Diagnostics:
46+
1;RO1PR80MB0106;3:xoefwlKJjTJXRhA6nBdPYy8mcZlnCisNRM26nnqvxtLr34Rr8N9LYA6wVBlJ3j7Pxn54VC4oXoWFU83rJ/cuy0tS1zUDMwGn400tJ3c+YoiRw8vyP1hdbrkie7Jh2PX3rTjkDcdPr7oFjfiue9RzfZdQ2otBpdbPlShWwTWCGSbURgtmproncI/YXM38wMoXaSI3Xi/n1rO8cxrUGNNGYUR63Opq8U1jss1ZWb4W3zqNb09+jbsx+UjP9c2sHTnKO5hIo2o2dPY5UxXHwagcCuJCrI2uoYDRyn119ZpCiF1FRtlMlIgBznOY1q7aHVcwd+2wOwHOQlOPuC88xmGngHVBXlr4u9FMcK96YT1uHko=;25:V5iGET4bRVrZX9tNaiw8Dil2OmzW5LHAI2fL/e0epIXUTFVk+8gGu4AhEVB4Oinj+3wbsXVvN0H1i8wrIQSnsx7dPDXUvTyfKgxI+QWMUgqqXYqMqR23f2QeqM1wIH2H3RzZTbXadSg148FMgIaKwlCVnKR1PULqz4HvDD5+u2aCc11/2JoIHwjUmRv+ZIux2jrzcuZiGbIrffa5BDn7R3+xDhgpVAinurpxxHUMFVo=;31:qnRgXldjWhbO3o3iYsqxA7Qxt8j1WwT8tw4JDPz2UWV+uZwGDBlWlOZpe7x25MX2emyjhCFInwcNhtC+eLTA8S0x5q+DkzfweLZ3s+gTUGl9vGgXuDE3OgQfxb1cl4L+
47+
X-MS-TrafficTypeDiagnostic: RO1PR80MB0106:|RO1PR80MB0106:
48+
X-Microsoft-Exchange-Diagnostics:
49+
1;RO1PR80MB0106;20:1821yRltUnu9mEUaLRVdk8YldWGUdO0olj4O9ow92ogkH7WxhTlFaqRCpbv4JmP1oPjvqiGEfj+/OhYbn8UyMCX0B5s8gQMmPeWLQj6K563C0Bzxkvrt1t/zjTwloeVQJGeyeOO2DrwLqmX0TcyoQ3MoPCcLN9pd5/6hJr/zye3zGnd6LQCKjfBOM5wOMCaOUk71+cZeaQ2I6ulaNGpa5CrVX2UIOvr0KDVr22z0OqzPE+znDXtudCfbcm388MD1K5YBfG8KPZFemt6DKO2OF4xXWfRdAD6ztyJ3AtISEkxwNSKRtSFKOZC3xlix3o4nVHC/6YqLGr1zDeY3HT2PTPpjIvBQS3FN4h0oNBfi8eQVZwhNeP/ey1awPoS/C0EoTmILKRQIuTA9RkBsgAYTW5qiiQy9Lg8eZZqoJC+ksWx5+aRtsMb/acMaGKmcEToYrtma/PCu7czFJZspQzrTKfTI39x+y7jXNXo7nF3RvrieIFqunZdi72jl+Ofw+bMR;4:BfXDwh8IhSfcvwFsp7ed7EX3Ct2P2oQqK3vxSzM//qVuy4gHNizRVxNNj9mNsUAjqkgrRc5COX9iddUW/fw5QuRjlyyYvU+mPZRcFjqH58ri6BG7JK4xx6rU4MSKGMcoyi/z74wdLvHzXG8F/TxnupHIZ6OQ7ZN5NvjaR1AmXww=
50+
X-Exchange-Antispam-Report-Test: UriScan:;
51+
X-Exchange-Antispam-Report-CFA-Test:
52+
BCL:9;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(2401047)(701105)(8121501046)(9101536074)(12181506113)(93006095)(93001095)(10201501046)(3231022)(8191506053)(100000703101)(100105400095)(3002001)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:RO1PR80MB0106;BCL:9;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:RO1PR80MB0106;
53+
X-CustomSpam: Bulk Mail | Bulk Mail
54+
X-Microsoft-Exchange-Diagnostics:
55+
1;RO1PR80MB0106;23:lPYVAgxML0JewdwN1imsBYvdYCEprqVIrjZrViLZnK1gR1suUVuvtm1jlD3oDOv2BbWUhLSwHM2lr4H0ftlfLcOLoYyAwn8XTYN9uHbySVsIywV2Kir+ioKNhu3T0PD7ZNmjawEePz3fyEc0kB6eQDHAFryBB+ekP8dN/aevjca6cuh/if43KpGMANH0F7B55qBR95ggt0qfMsfnoAj4oUOSlA+6Bq3qMGEMX2AuTY01lm9khHu57ezmW7X4Z2FnCx9Ivj68ccchaWeohvwjHoASwfIuEUPWHnC4WTyL/fm64qRzfLBch7r1JXb++XhOfk92JhMviTddq9wg5WFRqHId4dw+57BblBoGRg9dcUdfDJgtz+z6fQvJ0zdrdVNcfeueZNLTYBhsTR0LLr0jMA==;6:U6EZX0bE0jJHONnMpqF7HruQeVypc4CL4gybGeolMK8hec5qfyxnTzJZ5z6Mhyf7SErbgAxQyESCgcqw7p217c4f3O9+H4Eh0Wed74e+AP22e2XryrQpwE4Q102d8P1o3WIX8TMDLHNjs/nqlkIUxiaoj5BVXhnIFYBK8AjDMXEtK3Y8c+vDnT9bLe3Oeoj2oDVw5XrgjZ77lKf9m32EUkSBcDENzWi6Uqm+pwqxL2Sy0Al47CDLdi2HGnQs/z4/DAppEbXjLIX/M+SSAgGdfw/nqYh7SnKNmhyTNVTi0ew=;5:7WUK3/XjFKYxdorOjxj8RUaBmDCGLumtzVpcjwCY1gketxbXdQ2PtU5XRuedoNPnwhwihCoZ97oj9HWEx+QCSPqAby2DmsuQWWvGOL3EICPAQN5BCFrHzHUS56cqZtfA67gqhFVlzf98HGwuYhOFYoyj3te7QeGM5AlcLSjy1Ag=
56+
X-Microsoft-Exchange-Diagnostics:
57+
1;RO1PR80MB0106;24:u/EmACmqz+2QxMUGTdOwuVj/kebIeTRYjlsSzmgXrN/zdXpeT7HeDNlpESy9JG5yp7yqHO3BQWC5zYuKvydE1g==;7:e0VmuoQ8hcaCk7ECv4JYTgsRzwFrjZEU3PBRlgRl0WtisNGUfxvRi+UCe2LGKJPZTEOGyy1wMk9cwW93HCr3hUUB7C+hFvmWUDHxzynP7zFAbqCvYjOiHTbAHDdy4oEbNFzMvpin2EOD1Bb56xBxu+lBotlu6Tqlp0uwfdL5uY5cpJrIwlbZ4B0qQj53RqAf9n1+BowuIPWxTnSD7YQbgesGH2cP5j0jnn4svHls26y4l4LHHmuCGZRDDxyGYM38eKeUzkiqilf4UgI3ImGJd3bXd6lkSB3mM0KYvxBigug=;20:CfwChLYxhEEfDmbUl99hmH6utIe/wdkeD1VKyp/dR/qFwDDusTG6R7GE/8QZXrqgd3/gVy0Nqx63w3XAXrIghGtcl17gK1XEK/DDEQDXNM8CKbJrg0uU9qeleI6NKcRJmuLy823/MriFk+reWV2F0UHUQDPKAJoKeNp84mALI2bHK3ltssEZ0a4niJ4xaXntZXNjiJMNVbgHT2fwMbwRCWFZ8r+38DjA5DmuLjMALIXBAn/i242uC9XjoD9yeyTDINLxjcG/SM9KuEMI2Vwe0kMZx2lixyidoCu7vF4NSrgfZKNA+u7v/lXQ5eEqNaqjY6etBh72vRMgyLcTzl16k7WxaeNm5uZ9hdyaLtVfFVoWbFj+q4wGGScA+8sOJbO51M9kTtuJP2Ut1wjiuvr9FyLkzlmdq+McDWSUmO+jMxyhYUj1SFp+dfu8idXHFUkm4Z4cFTCr08tKQ9K7dLBXL4oJ5hntOLNVEduZRFuQhLvio+9P+lZd+QJiyhmLoH57
58+
SpamDiagnosticOutput: 1:6
59+
SpamDiagnosticMetadata: Default:9
60+
X-MS-Exchange-Inbox-Rules-Loop: [email protected]
61+
X-Microsoft-Exchange-Diagnostics:
62+
1;RO1PR80MB0106;23:l70+jaaaGISH7JuWwWaWUQ1DYuHN8m9lK7iB0FD18yTRmoLhc3MygvoQH7u6jZeqlHNRXGeziSrP5NWKKOamHGumn6R87ZRK9lxrShcbKa2LVEAHeCgoyzo7yn3KmZLCBtQSS5TLfqSOfqwby52Uvw==
63+
X-ExternalRecipientOutboundConnectors: c709a8cf-ebee-4c19-a146-0139aa7878ea
64+
X-OriginatorOrg: hostway.travel
65+
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2017 12:53:09.0561
66+
(UTC)
67+
X-MS-Exchange-CrossTenant-Network-Message-Id: dd2959b8-1db5-444a-02ac-08d52b5ea8ad
68+
X-MS-Exchange-CrossTenant-Id: c709a8cf-ebee-4c19-a146-0139aa7878ea
69+
X-MS-Exchange-CrossTenant-FromEntityHeader: Internet
70+
X-MS-Exchange-Transport-CrossTenantHeadersStamped: RO1PR80MB0106

0 commit comments

Comments
 (0)