Не удалось привести тип объекта "MimeKit.MimePart" к типу "MimeKit.TextPart"

Вопрос для знатоков.

        client.GetFolder("ПАПКА").Open(FolderAccess.ReadOnly);

        var uids = client.GetFolder("ПАПКА").Search(SearchQuery.DeliveredAfter(parseDateTime));

        var messages = client.GetFolder("ПАПКА").Fetch(uids, MessageSummaryItems.Envelope | MessageSummaryItems.BodyStructure);

        if (messages != null && messages.Count > 0)
        {
            foreach (var msg in messages)
            {
                var body = (TextPart)client.GetFolder("ПАПКА").GetBodyPart(msg.UniqueId, msg.BodyParts.First());

На последней строчке кода вызывается ошибка (название темы). Подвох в том, что код рабочий! Но в почему-то вылезла ошибка при парсинге почты за определенный день. Как это может быть связано? Может быть вы знаете как по другому можно достать тело сообщения из папки?


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

Автор решения: yava43DEVELOPER

Перевел ответ на этот вопрос самого разработчика:

Ну, первый BodyPart не всегда является телом текста, и вы приводите все, что он находит, к TextPart, поэтому вы получаете исключение.

Есть два удобных свойства: TextBody и HtmlBody, которые, если они не равны null, используют эвристику для получения body parts text/plain и text/html.

Проще говоря - я не предусмотрел исключение.

→ Ссылка