.msg到.eml文件使用Aspose.Email缺少日历数据

时间:2016-07-07 18:59:17

标签: c# .net outlook aspose eml

我正在尝试使用Aspose.Email for .NET.msg转换为.eml文件格式。非常琐碎:

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在底部):

enter image description here

它还包括其生成的.ics中的会议.eml文件:

  

内容类型:文字/日历;方法=" REQUEST&#34 ;;命名=" meeting.ics的&#34 ;;   字符集=" UTF-8" Content-Transfer-Encoding:base64

然而,问题是,如果是会议取消而非邀请:

enter image description here

如您所见,生成的.eml 包含会议详细信息,生成的.eml也不包含任何会议跟踪.ics(其中{strong 1确实存在于.msg中。我可以轻松地解析.msg

MapiCalendar calendar = (MapiCalendar)msg.ToMapiMessageItem();

为什么在结果.ics中取消.eml时,它不是base-64编码?难道我做错了什么?它是Aspose的bug吗?这是正常的行为吗?这里发生了什么?

1 个答案:

答案 0 :(得分:1)

您能否在Aspose.Email forum上与我们分享您的输入/输出文件?我们需要了解您采取哪些步骤来加强这个问题,并将进一步帮助您在论坛中。如果我们发现它是API的错误,我们会将其记录下来供我们的产品团队调查。

我与Aspose一起担任开发者布道者。

修改

请尝试mmi.InterpretAsTnef(msg)。虽然它也应该与Interpret一起使用,但它似乎是API的一个问题。我们正在调查这个问题,但是,你可以同时使用InterpretAsTnef。您可以免费注册www.Aspose.com。无论是付费还是非付费用户,我们的基本支持都是免费的。