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

使用Redemption将EML转MSG时,如何排除附件导入?

Redemption转换EML到MSG时仅导入邮件主体的解决方案

直接使用Import方法会完整导入邮件所有内容(包括大附件),导致大文件转换失败。要实现仅导入邮件主体,你可以通过分步读取EML内容并手动复制到新MSG文件的方式跳过附件:

具体实现代码

// 创建目标空MSG文件
RDOMail rdoMail = session.CreateMessageFromMsgFile(msgfilepath);

// 以只读模式加载源EML文件到临时对象(仅读取内容,不修改)
RDOMail tempEmlMail = session.GetMessageFromMsgFile(emlfilepath, true);

// 复制邮件核心主体及必要属性
rdoMail.Subject = tempEmlMail.Subject;
rdoMail.Body = tempEmlMail.Body; // 纯文本正文
rdoMail.HTMLBody = tempEmlMail.HTMLBody; // HTML格式正文
rdoMail.SenderName = tempEmlMail.SenderName;
rdoMail.SenderEmailAddress = tempEmlMail.SenderEmailAddress;
rdoMail.To = tempEmlMail.To;
rdoMail.CC = tempEmlMail.CC;
rdoMail.BCC = tempEmlMail.BCC;
rdoMail.ReceivedTime = tempEmlMail.ReceivedTime;
// 可根据需求添加其他需要复制的邮件属性(如优先级、回复地址等)

// 跳过附件,直接保存MSG文件
rdoMail.Save();

// 释放临时EML对象资源
tempEmlMail.Close();

关键说明

  • 临时加载EML时使用true参数以只读模式打开,避免锁定源文件同时提升读取效率。
  • 仅复制邮件主体和必要头信息,完全跳过附件处理,从根源上避免大附件导致的内存溢出或转换失败问题。
  • 若后续需要保留部分小附件,可遍历tempEmlMail.Attachments筛选后再复制,当前需求下直接跳过即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 18:42:41