更换 CDO 和ADODB,电子邮件消息文件解析

发布于 2024-11-25 12:56:55 字数 696 浏览 1 评论 0原文

我使用下面的 C# 代码打开电子邮件消息文件 (eml) 并解析主题和正文(需要解析 eml 文件并查找其中的所有 Web 链接)。我搜索了本机 C# 代码来以纯文本形式打开文本或 html 格式的电子邮件消息文件,但没有任何运气,因此我决定使用 ADODB 和 CDO COM 对象作为我的解决方案。问题是此代码不适用于 Windows 2008 Standard(不是 R2),我需要用其他代码替换它。也许有人可以提出任何解决方案?

CDO.Message msg = new CDO.MessageClass();
ADODB.Stream stream = new ADODB.StreamClass();
stream.Open(Type.Missing, ADODB.ConnectModeEnum.adModeUnknown, ADODB.StreamOpenOptionsEnum.adOpenStreamUnspecified, String.Empty, String.Empty);
stream.LoadFromFile("c:\test.eml");
stream.Flush();
msg.DataSource.OpenObject(stream, "_Stream");
msg.DataSource.Save();

string texBody = msg.TextBody;
string textSubject = msg.Subject;
string from = msg.From;

I use c# code below to open email message file (eml) and parse subject and body(need to parse eml file and find all web links in any). I have searched for native c# code to open textual or html formatted e-mail message files as plain text without any luck, so I decided to use ADODB and CDO COM objects for my solution. The problem is that this code do not work on Windows 2008 Standard (not R2) and I need to replace it with other code. Maybe someone could suggest any solution?

CDO.Message msg = new CDO.MessageClass();
ADODB.Stream stream = new ADODB.StreamClass();
stream.Open(Type.Missing, ADODB.ConnectModeEnum.adModeUnknown, ADODB.StreamOpenOptionsEnum.adOpenStreamUnspecified, String.Empty, String.Empty);
stream.LoadFromFile("c:\test.eml");
stream.Flush();
msg.DataSource.OpenObject(stream, "_Stream");
msg.DataSource.Save();

string texBody = msg.TextBody;
string textSubject = msg.Subject;
string from = msg.From;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文