protected override void VisitTnefPart(TnefPart entity) { // extract any attachments in the MS-TNEF part _attachments.AddRange(entity.ExtractAttachments()); }
static void TestTnefParser (string path, TnefComplianceStatus expected = TnefComplianceStatus.Compliant) { var message = ParseTnefMessage (path + ".tnef", expected); var names = File.ReadAllLines (path + ".list"); foreach (var name in names) { bool found = false; foreach (var part in message.BodyParts.OfType<MimePart> ()) { if (part.FileName == name) { found = true; break; } } if (!found) Assert.Fail ("Failed to locate attachment: {0}", name); } // now use TnefPart to do the same thing using (var content = File.OpenRead (path + ".tnef")) { var tnef = new TnefPart { ContentObject = new ContentObject (content) }; var attachments = tnef.ExtractAttachments ().ToList (); foreach (var name in names) { bool found = false; foreach (var part in attachments.OfType<MimePart> ()) { if (part.FileName == name) { found = true; break; } } if (!found) Assert.Fail ("Failed to locate attachment in TnefPart: {0}", name); } } }