我需要在不使用COM API for Outlook的情况下从.NET中读取Outlook .MSG文件(因为它不会安装在我的应用程序将运行的机器上).有没有免费的第三方图书馆呢?我想提取From,To,CC和BCC字段.如果它们也存储在MSG文件中,则发送/接收日期字段将很好.
CodeProject上有代码可用于读取没有COM的.msg文件.看到这里.
更新:我找到了一个名为Outlook Redemption的第三方COM库,目前对我来说工作正常.如果您通过.NET中的COM-Interop使用它,请不要忘记在完成后释放每个COM对象,否则您的应用程序会随机崩溃.
这是使用Huseyint发现的Outlook Redemption的一些示例VBA代码.
Public Sub ProcessMail() Dim Sess As RDOSession Dim myMsg As RDOMail Dim myString As String Set Sess = CreateObject("Redemption.RDOSession") Set myMsg = Sess.GetMessageFromMsgFile("C:\TestHarness\kmail.msg") myString = myMsg.Body myMsg.Body = Replace(myString, "8750", "XXXX") myMsg.Save End Sub
Microsoft已经记录了这一:.MSG文件格式规范