You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从.msg文件路径直接创建MailMessage对象?

.msg路径直接创建MailMessage对象的实现说明

首先明确结论:.NET 原生 System.Net.Mail.MailMessage 类不支持直接传入.msg文件路径初始化实例,你提到的 MailMessage x = new MailMessage("path") 写法原生无法直接使用。

如果要实现类似效果,常用两种方案落地:

  • 方案1:借助.msg解析开源库读取文件内容,再映射到MailMessage对象
    目前已有成熟的开源库支持解析.msg格式文件,你可以先调用库API读取.msg的发件人、收件人、主题、正文、附件等字段,再逐一赋值给新建的MailMessage实例,示例伪代码如下:
    // 替换为你使用的.msg解析库对应的读取API
    var parsedMsg = MsgParser.Load(@"C:\your\mail\path.msg");
    MailMessage mail = new MailMessage();
    mail.From = new MailAddress(parsedMsg.Sender);
    foreach (var to in parsedMsg.ToList)
    {
        mail.To.Add(to);
    }
    mail.Subject = parsedMsg.Subject;
    mail.Body = parsedMsg.HtmlBody ?? parsedMsg.PlainTextBody;
    // 补充附件、抄送、暗送等其他属性赋值
    
  • 方案2:使用Outlook Interop API实现(仅适配安装了Outlook客户端的Windows环境)
    如果程序只在装有Outlook的Windows设备上运行,可以直接调用Office自带的Outlook Interop接口读取.msg文件,再转换为MailMessage对象,不需要额外引入第三方解析依赖。

注意:.msg是微软定义的二进制结构化存储格式,如果要完全无依赖自行解析,开发成本较高,生产环境优先选择成熟的第三方解析库实现即可。

内容的提问来源于stack exchange,提问作者Austin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 13:09:04