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();
            }
        }