Не удалось привести тип объекта "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.
Проще говоря - я не предусмотрел исключение.