使用VBScript和Redemption将MSG转换为EML

时间:2018-06-12 22:34:03

标签: vbscript file-conversion outlook-redemption msg eml

我想将MSG文件(保存为文件的Outlook邮件)转换为EML(RFC822)文件。我还想反转该过程并将生成的EML文件转换回MSG。根据我的阅读,我可以通过VBScript进行Redemption。

我没有或希望安装Outlook,因此我按照“兑换”页面上的建议在我的Windows 64位计算机上安装了 Microsoft Exchange Server MAPI客户端和协作数据对象1.2.1 。我正在尝试运行以下代码:

Set session = CreateObject("Redemption.RDOSession")
Set msg = session.GetMessageFromMsgFile("c:\temp\mail.msg", false)
msg.SaveAs "c:\temp\mail.eml", 1024

我收到一条错误,指出“Wrong OS or OS version”。操作系统是64位,并且Redemption安装为64位,因此我猜测安装为32位的独立MAPI库。

有没有人知道我是否可以使用Redemption?如果没有,有没有人有其他建议转换这些文件类型而不安装Outlook?

1 个答案:

答案 0 :(得分:1)

您的app位数必须与MAPI系统的位数相匹配,没有办法解决这个问题。有关详细信息,请参阅http://www.dimastr.com/redemption/faq.htm#ErrorCreatingRedemptionObject 您可以安装64位版本的Outlook(任何版本)或以32位(x86)编译您的应用程序 请记住,独立版本的MAPI不处理Unicode MSG文件。