public void CheckGetSHA256Hash() { //пустое письмо var mime = new Mime(); var hash = mime.GetSHA256Hash(); Assert.IsEmpty(hash); //установлена тема письма mime.MainEntity.Subject = "test subject"; hash = mime.GetSHA256Hash(); Assert.IsNotEmpty(hash); //установлено тело письма как текст mime = ImapHelper.BuildMessageWithAttachments("", "test body", new string[] { "*****@*****.**" }, new string[] { "*****@*****.**" }, null); hash = mime.GetSHA256Hash(); Assert.IsNotEmpty(hash); //установлено тело письма как html mime = ImapHelper.BuildMessageWithAttachments("", "test body", new string[] { "*****@*****.**" }, new string[] { "*****@*****.**" }, null); var hmtlEntity = mime.MainEntity.ChildEntities[mime.MainEntity.ChildEntities.Count - 1]; hmtlEntity.DataText = null; hmtlEntity.ContentType = MediaType_enum.Text_html; hmtlEntity.DataText = "test body html"; hash = mime.GetSHA256Hash(); Assert.IsNotEmpty(hash); //установлено все как строки с пробелами mime = ImapHelper.BuildMessageWithAttachments("", "test body", new string[] { "*****@*****.**" }, new string[] { "*****@*****.**" }, null); mime.MainEntity.Subject = " "; mime.MainEntity.ChildEntities[mime.MainEntity.ChildEntities.Count - 1].DataText = " "; hash = mime.GetSHA256Hash(); Assert.IsEmpty(hash); }
public void ParseMime(Mime mime, AddressList fromSupplierList) { SHA256MailHash = mime.GetSHA256Hash(); Subject = mime.MainEntity.Subject; SupplierEmails = fromSupplierList.Mailboxes.Select(mailbox => mailbox.EmailAddress).Implode(); if (fromSupplierList.Mailboxes.Length == 0) { throw new FromParseException(String.Format("Не смогли разобрать список отправителей письма для сопоставления с поставщиками:\r\n{0}", mime.MainEntity.HeaderString)); } Suppliers = GetSuppliersFromList(fromSupplierList.Mailboxes); Body = mime.BodyText; if (String.IsNullOrWhiteSpace(Body)) { Body = mime.HtmlToText(); } }