C# Winform 如何展示邮件

小牛小牛技术菜牛 2021-03-15 10:10:31
急求大佬帮忙
要求用一个Form基于谷歌内核展示邮件 并且要和用邮箱展示邮件的效果一样
谷歌内核我引入了cefSharp的包
但是邮件不知道如果展示在form中 并且要效果和用网页打开邮件的展示效果相同
...全文
151 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你都用了cefsharp了,干脆嵌入网页做网页版的
  • 打赏
  • 举报
回复
也就是说如果用form展示eml类型的文件 并且要求和邮箱客户端展示的效果相同
wanghui0380 2021-03-15
  • 打赏
  • 举报
回复
自己nuget“eml viewer” 或者自己google“C# eml viewer” 当然大部分是收费的,不过没有关系。只要不是太贵,可以让你公司买 https://www.nuget.org/packages/Document.Viewer/ https://www.nuget.org/packages/GroupDocs.Viewer/ 如果实在不想买,那就自己写相关资料可以google "eml prase H5" 或者“eml xlst html”相关条目
  • 打赏
  • 举报
回复
我已经会了 把代码发出来给大家做个参考 我用的是基于谷歌内核展示 所以引入了一个Nuget包 CefSharp 我是从本地加载eml文件 把html部分另存为一个文件 然后把这个html文件展示在form页面的panelControl上 邮件的收件人发件人等信息通过MimeMessage类的对象去获取

            string path = AppDomain.CurrentDomain.BaseDirectory + "测试邮件.eml";

            Stream stream = File.OpenRead(path);
            MimeMessage message = MimeMessage.Load(stream);
            stream.Close();
            labelControl3.Text = message.From.ToString();
            labelControl4.Text = message.To.ToString();

            string savaPath = AppDomain.CurrentDomain.BaseDirectory + "测试邮件.html";
            File.Delete(savaPath);
            File.AppendAllText(savaPath, message.HtmlBody, Encoding.UTF8);

            ChromiumWebBrowser web = new ChromiumWebBrowser(savaPath);
            web.Dock = DockStyle.Fill;
            this.panelControl2.Controls.Add(web);


110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧