Проблема с чтением тела сообщения MailKit

При чтении тела (самого сообщения) email с помощь MailKit некорректно читаются некоторые символы. Например превращается в ?. Почему-то сообщения приходят с кодировкой koi8-r. При этом если прочитать тело сообщение как Html, то там нужный знак есть. Например в нашем случае ⌀ (№)*.

Читаю сообщения так:

var items = inBox.Fetch(0, -1, MessageSummaryItems.UniqueId | MessageSummaryItems.Size | MessageSummaryItems.Flags | MessageSummaryItems.All | MessageSummaryItems.Body | MessageSummaryItems.Full);
foreach(var item in items)
{
   MimeMessage message = inBox.GetMessage(item.UniqueId);
                   
   string from = message.From.Where(x => x is MailboxAddress).Select(x => ((MailboxAddress)x).Name).Aggregate((i, j) => i + ";" + j);
   string emails = message.From.Where(x => x is MailboxAddress).Select(x => ((MailboxAddress)x).Address).Aggregate((i, j) => i + ";" + j);

   string messageText = message.TextBody;
}

В message.TextBudy уже текст с кривыми символами.

Была попытка сделать так:

      var bodyPart = item.TextBody;
      var body = (TextPart)inBox.GetBodyPart(item.UniqueId, bodyPart);

Но там уже стоит charset=koi8-r и кривые символы. введите сюда описание изображения

При этом, в Html теле все в порядке, если его сохранить и открыть: введите сюда описание изображения

Каким образом можно еще прочитать тело с нормальной кодировкой?


Ответы (0 шт):