Почтовая система.Проблема Net IMAP с получением тела электронной почты

#.net #email #imap

#.net #Адрес электронной почты #imap

Вопрос:

Я использую почтовую систему.Функциональность NET IMAP для извлечения электронной почты.

Подключение и вход в систему завершаются успешно, и я вижу, что на сервере есть 4 сообщения. Когда я извлекаю сообщения, я могу прочитать тему, от / до и т.д. Однако, когда я читаю тело электронного письма, отображается только часть тела.

 Message msg = inbox.Fetch.MessageObject(i);
Console.WriteLine(msg.BodyHtml.Text);
  

Приведенный выше код отобразит:

 <!DOCTYPE
  

Как я могу получить полное содержимое тела электронной почты? (Также спрашивалось в CodePlex, но там не так много активности).

С уважением,

Мишель

Комментарии:

1. Как выглядит дробь? Что вы получаете, если используете что-то вроде BodyPlainText (если таковое существует)?

2. сообщение msg.bodyText. Текст представляет собой пустую строку. Я добавлю дробь к своему вопросу.

3. Можете ли вы просмотреть (и опубликовать) реальное необработанное содержимое сообщения в почтовом клиенте? Мне кажется, что это ошибка в библиотеке.

Ответ №1:

Проблемы с IMAP могут помочь в ваших поисках.

Ответ №2:

Сейчас я использую другую библиотеку, но когда я проверил codeplex, был предоставлен ответ:

Похоже, это результат последнего изменения http://mailsystem.codeplex.com/SourceControl/changeset/changes/59386. Я не знаю, в чем причина этого изменения, но это кажется абсолютно нелогичным. Если вы удалите это из своего исходного кода, система будет работать нормально.

Ответ №3:

Попробуйте этот код:

 Message mailMsg = mailbox.Fetch.MessageObject(i);
string mailBodyContent = system.Text.Encoding.UTF8.GetString(mailMsg.OriginalData);
Console.WriteLine(mailBodyContent);
  

Это вернет весь текст письма.