Проблема с чтением тела сообщения 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 теле все в порядке, если его сохранить и открыть:

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