这是我的第一篇文章,希望我不会错它。
我试图使用vbscript从数百个旧的Exchange Journal Outlook PST文件中提取邮件项目详细信息。 PST档案中的所有项目都由一个"信封组成。带有.msg附件的邮件项目,它是我要捕获其属性的实际电子邮件
我可以访问附件对象,但无法提取下面列出的MailItem属性和集合,大概是因为附件不能作为邮件项打开。我试图使用PropertyAccessor对象,但我无法从中获得任何结果。
我提出的唯一解决方法是使用SaveAsFile方法将每个附件保存到文件,然后使用CreateItemFromTemplate打开保存的文件,然后提供对对象的Mail Item属性的完全访问权限。但是,磁盘操作引起的延迟过大。我的基本"解决方法"返回" objMsg"的代码MailItem对象是:
Set objOL=WScript.CreateObject("Outlook.Application")
set objNS=objOL.GetNameSpace("MAPI")
Set objPST = objNS.Folders(strPSTname).Folders("Inbox").Items
Set objItem = objPST.Items(1)
objItem.Attachments(1).SaveAsFile(conTempPath)
Set objMsg = objOL.CreateItemFromTemplate(conTempPath)
是否有人知道访问.msg附件的邮件项属性的更好方法?
感谢
objItem.Class
objItem.ReceivedTime
objItem.SenderEmailAddress
objItem.SenderName
objItem.SentOnBehalfOfName
objItem.Subject
objItem.Attachments
objItem.Recipients
objItem.To
objItem.Cc
objItem.Bcc
答案 0 :(得分:0)
这是您在Outlook对象模型中可以做的最好的事情。你的选择是
扩展MAPI(C ++或Delphi) - 调用IAttach :: OpenProperty(PR_ATATCH_DATA_OBJ,IID_IMessage,...)
Redemption(任何语言) - 其RDOAttachment对象公开EmbeddedMsg属性。