如何在WebBrowser、RichTextBox或C#的免费组件中显示MailMessage
本文关键字:免费 组件 MailMessage 显示 WebBrowser RichTextBox | 更新日期: 2023-09-27 17:57:35
我使用了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;
我找到了一个简单的方法:
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;