我如何在WebBrowser,RichTextBox或免费组件中显示MailMessage到C#

时间:2014-04-09 06:20:13

标签: c# imap mailmessage

我使用过S22.imap库。我有MailMessage,包含嵌入的图像,链接等。如果我使用WebBrowser并显示MailMessage正文,则Web浏览器组件仅显示文本。我读了很多信息,很多人说,只需将所有linkedSource保存在本地驱动器中并构建html文件。还有其他方法吗?更好的方法。

using (ImapClient Client = new ImapClient(imapSettings.Imap_server, imapSettings.Port, imapSettings.Email, imapSettings.Password,AuthMethod.Login, true))
      {
          IEnumerable<uint> uids = Client.Search(SearchCondition.Unseen());
          IEnumerable<MailMessage> messages = Client.GetMessages(uids);
          LoadNewMessagesToDataBase(messages);
      }

List<MailMessage> messageList= messages.ToList();

webbrowser.DocumentText = messageList[i].body;

1 个答案:

答案 0 :(得分:1)

我找到了简单的方法:

var dataStream = messageList[i].AlternateViews[0].ContentStream;
byte[] byteBuffer = new byte[dataStream.Length];
string altbody =  System.Text.Encoding.UTF8.GetString(byteBuffer, 0, dataStream.Read(byteBuffer, 0, byteBuffer.Length));
webbrowser.DocumentText = altbody;