piyush_pimple Ответов: 1

Как читать и отображать MIME mailkit multipart/mixed mail body text ?


Я не понимаю, как преобразовать основной текст в обычную строку.
Я уже сделал seperated out, но как получить основной текст из него я не получаю, bodytext использует кодировку передачи контента "7 бит".

Знает ли об этом какой-нибудь орган?

Что я уже пробовал:

var myattachments = new List<MimePart>();
     var multiparts = new List<Multipart>();  from received mail.
<pre>  using (var iter = new MimeIterator(email))
                        {
                            
                            while (iter.MoveNext())
                            {
                                var multipart = iter.Parent as Multipart;
                                var part = iter.Current as MimePart;

                                if (multipart != null && part != null && part.IsAttachment)
                                {
                              
                                    multiparts.Add(multipart);
                                    myattachments.Add(part);
                                }
                            }
                        }

                      
                        for (int i = 0; i < myattachments.Count; i++)
                            multiparts[i].Remove(myattachments[i]);

Richard Deeming

Какую библиотеку вы используете для анализа сообщения? Такого рода вещи должны быть довольно простыми с MimeKit[^].

piyush_pimple

Привет, да, я использую mimekit.
но почта является "составным" типом. и в теле письма, закодированы по 7 бит

piyush_pimple

https://postimg.cc/gallery/WD9nRBG
я добавил сюда свои кодовые скриншоты

1 Ответов

Рейтинг:
7

Richard Deeming

Смотрите это решение от автора библиотеки MimeKit:

Существует несколько способов получить текст сообщения:
  • Обход дерева MIME вручную ... (Сложность: Экстремальная)
  • С помощью MimeIterator ... (Уровень Сложности: Экстремальный)
  • С помощью MimeVisitor подкласс для обхода древовидной структуры MIME ... (Сложность: Умеренная)
  • ... используйте MimeMessage.TextBody и-или MimeMessage.HtmlBody свойства. (Сложность: ЛЕГКИЙ РЕЖИМ)


piyush_pimple

Привет, спасибо за ответ.
но я хочу отобразить этот текст MailBody в textarea на моей странице, но этот текст bodytext находится в каком-то другом формате.
Так есть ли какой-нибудь способ, чтобы я мог писать только текст?
вот мои скриншоты кода
https://postimg.cc/gallery/WD9nRBG

Richard Deeming

Что делать HtmlBody и TextBody свойства возвращают?

Ваш скриншот смотрит на Body свойство, которое представляет собой дерево содержимого, проанализированного из сообщения MIME, и не является тривиальным для обработки.