Csharp/C#教程:从路径创建/打开现有消息到c#中的新Outlook.MailItem分享


从路径创建/打开现有消息到c#中的新Outlook.MailItem

您好我想从位于磁盘上的现有创建Outlook.MailItem(我相信)。 我将路径存储在一个字符串中,并希望访问以保存它的正文和附件。

我似乎无法弄清楚如何在c#中打开它并访问它。

目前我有类似的东西

其中fl评估为“C: users msgs email.msg”之类的东西

谢谢你的时间

Outlook.Application app = new Outlook.Application(); try { foreach (String fl in Directory.GetFiles(docInfo.LocalPath + _preprocessorDirectory)) { if (Regex.IsMatch(fl.Trim(), _regex, RegexOptions.IgnoreCase)) { Outlook.MailItem email = new Outlook.MailItem(fl); SaveAttachments(email); SaveBody(email); } } } catch (Exception ex) { logger.Error("Error in Process for document " + docInfo.OriginalPath, ex); callback.Invoke(docInfo, false); } return false; 

要在outlook中打开一个项目,请尝试:

var email = (Outlook.MailItem)app.Session.OpenSharedItem(fl)

从那里,您还可以访问Attachments属性和Body属性。

另外,正如我在评论中提到的,如果Regex.IsMatch要确定文件扩展名,请使用Path.GetExtension()代替

我使用了这个NuGet包: https : //www.nuget.org/packages/MSGReader/

似乎工作正常。 我更喜欢它到MS OutlookApi库,因为它不需要安装Outlook。

我感谢它不会创建MailItem的实例,正如您在问题中所要求的那样 – 但它将使您能够提取保存单个附件和正文……

上述就是C#学习教程:从路径创建/打开现有消息到c#中的新Outlook.MailItem分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/999760.html

(0)
上一篇 2021年12月27日
下一篇 2021年12月27日

精彩推荐