我正在尝试使用.msg
将.eml
文件格式转换为http://www.aspose.com/products/email/net格式。相当琐碎:
var msg = MapiMessage.FromFile(@"example.msg");
MailMessageInterpretor mmi = MailMessageInterpretorFactory.Instance.GetIntepretor(msg.MessageClass);
MailMessage eml = mmi.Interpret(msg);
eml.Save(@"example.eml");
如果是日历邀请,我会在.msg
文件和.eml
文件中看到它,如下所示(.msg
在顶部,.eml
在底部):
它还包括它生成的.ics
中的会议.eml
文件:
内容-类型:文本/日历;method=“请求”;name="meeting.ics";charset="utf-8“内容-传输-编码: base64
但是,问题是,如果它是一个会议取消,而不是邀请:
如您所见,生成的.eml
不包括会议详细信息,不包含会议详细信息,生成的.eml
也不包含会议.ics
的任何跟踪(确实存在于.msg
中)。我可以很容易地解析.msg
:
MapiCalendar calendar = (MapiCalendar)msg.ToMapiMessageItem();
为什么它不是基-64编码.ics
的取消在结果的.eml
?我做错了什么吗?是阿斯坡虫吗?这是正常行为吗?这里发生了什么事?
发布于 2016-07-12 09:13:30
请您在Aspose.Email论坛上与我们分享您的输入/输出文件好吗?我们需要了解你正在采取哪些步骤来提出这一问题,并将在论坛上进一步帮助你。如果我们发现它是API的一个bug,我们将记录它,以供我们的产品团队调查。
我和Aspose合作,做开发人员的布道者。
编辑
请试试mmi.InterpretAsTnef(msg)
。虽然它应该也适用于解释,但它似乎是API的一个问题。我们正在调查这个问题,但是,您可以同时使用InterpretAsTnef。您可以免费在www.Aspose.com注册。无论是付费用户还是非付费用户,我们的基本支持都是免费的.
https://stackoverflow.com/questions/38253335
复制相似问题