public void TestThatCssFileGetsParsed() { Assert.IsNotNull(m_Stream); var reader = new MailReader(); MIMER.IEndCriteriaStrategy endofmessage = new BasicEndOfMessageStrategy(); var message = reader.ReadMimeMessage(ref m_Stream, endofmessage); Assert.That(message.Attachments.Count(a => a.Type.Equals("text") && a.SubType.Equals("css")), Iz.EqualTo(1)); }
static void Main(string[] args) { string path = "."; if (args.Count() > 0) { path = args[0]; } var files = Directory.GetFiles(path, "*.doc"); FileStream csvFile = new FileStream("output.csv", FileMode.Create); StreamWriter sw = new StreamWriter(csvFile, Encoding.Unicode); foreach (var file in files) { string content = File.ReadAllText(file); content = content.Replace("\n", "\r\n"); Stream fs = new MemoryStream(Encoding.ASCII.GetBytes(content)); var reader = new MailReader(); MIMER.IEndCriteriaStrategy endofmessage = new BasicEndOfMessageStrategy(); //MIMER.IEndCriteriaStrategy endofmessage = new EndOfLineStrategy(); var message = reader.ReadMimeMessage(ref fs, endofmessage); //reader.Read(ref fs, endofmessage); var html = message.Body.FirstOrDefault <KeyValuePair <string, string> >().Value; var htmldoc = new HtmlAgilityPack.HtmlDocument(); htmldoc.LoadHtml(html); //var nodes = htmldoc.DocumentNode.SelectNodes("//td"); //foreach (var node in nodes) //{ // if (node.InnerText == "15021991585" || node.InnerText.Contains("丁曹凯")) // { // Console.WriteLine(node.InnerText + " " + node.XPath); // } //} //var node = htmldoc.DocumentNode.SelectNodes("//a"); var email = htmldoc.DocumentNode.SelectSingleNode("/html[1]/body[1]/table[2]/tr[1]/td[1]/html[1]/body[1]/table[1]/tr[1]/td[1]/table[1]/tr[1]/td[2]/table[1]/tr[2]/td[3]/table[1]/tr[1]/td[2]/a[1]"); var name = htmldoc.DocumentNode.SelectSingleNode("/html[1]/body[1]/table[2]/tr[1]/td[1]/html[1]/body[1]/table[1]/tr[1]/td[1]/table[1]/tr[1]/td[2]"); var phone = htmldoc.DocumentNode.SelectSingleNode("/html[1]/body[1]/table[2]/tr[1]/td[1]/html[1]/body[1]/table[1]/tr[1]/td[1]/table[1]/tr[1]/td[2]/table[1]/tr[2]/td[2]/table[1]/tr[1]/td[2]"); //Console.WriteLine(email.InnerText + " " + name.InnerText + " " + phone.InnerText); int start = name.InnerText.IndexOf(" ") + 6; int end = name.InnerText.IndexOf("流程"); string line = name.InnerText.Substring(start, end - start).Replace(" ", "").Trim() + "," + phone.InnerText + "," + email.InnerText; sw.WriteLine(line); } sw.Close(); csvFile.Close(); }
public void DecodeBase64() { var reader = new MailReader(); MIMER.IEndCriteriaStrategy endofmessage = new BasicEndOfMessageStrategy(); var stream = (Stream)File.Open("purchase-order.mhtml", FileMode.Open); var message = reader.ReadMimeMessage(ref stream, endofmessage); stream.Close(); Assert.Equal(2, message.Attachments.Count); Assert.Equal("html", message.Attachments[0].SubType); }
public void TestParse() { Assert.IsNotNull(m_Stream); MIMER.RFC2045.MailReader m = new MailReader(); MIMER.IEndCriteriaStrategy endofmessage = new BasicEndOfMessageStrategy(); MIMER.RFC2045.IMimeMailMessage message = m.ReadMimeMessage(ref m_Stream, endofmessage); Assert.AreEqual("*****@*****.**", message.To[0].Address); Assert.AreEqual("*****@*****.**", message.CarbonCopy[0].Address); Assert.AreEqual("Testing the .eml format", message.Subject); Assert.AreEqual(3, message.Attachments.Count); Assert.That(message.Attachments.Count(x => x.Name != null && x.Name.Equals("cp_bg_black800.gif")), Iz.EqualTo(1)); System.Net.Mail.MailMessage mailmessage = message.ToMailMessage(); Assert.IsNull(mailmessage.From); Assert.AreEqual("*****@*****.**", mailmessage.CC[0].Address); Assert.AreEqual(message.TextMessage, mailmessage.Body); Assert.AreEqual(message.Attachments.Count, mailmessage.Attachments.Count); }
string ExtractHtml(byte[] input) { var reader = new MailReader(); MIMER.IEndCriteriaStrategy endofmessage = new BasicEndOfMessageStrategy(); var stream = (Stream) new MemoryStream(input); var message = reader.ReadMimeMessage(ref stream, endofmessage); stream.Close(); foreach (var attachment in message.Attachments) { if (attachment.Type == "text" && attachment.SubType.StartsWith("htm")) { return(Encoding.UTF8.GetString(attachment.Data)); } } return(null); }
public void TestRead() { IMimeMailMessage message = m_Reader.ReadMimeMessage(ref m_Stream, m_EndOfMessageStrategy); Assert.AreEqual("*****@*****.**", message.From[0].Address); Assert.AreEqual("*****@*****.**", message.To[0].Address); Assert.AreEqual(2, message.Body.Count); Assert.AreEqual("Mailbox.se - Gratis dataspel...", message.Subject); StringAssert.Contains("Syftet med detta kunskapsspel", message.TextMessage); Assert.IsFalse(message.IsNull()); }