是否可以获取附件内容 - Outlook 加载项 API
Is it possible to get attachment content - Outlook Add-in API
是否可以在 Outlook 插件中获取附件内容(eml 文件)API?。如果是,请指导如何做。
调用 Attachment.SaveAsFile
保存附件。
如果您试图在不将附件另存为文件的情况下访问附件内容,Outlook 对象模型将无济于事。您可以使用扩展 MAPI(仅限 C++ 或 Delphi)并将附件数据作为流打开 (IAttach::OpenProperty(PR_ATTACH_DATA_BIN, IID_IStream, ...)
) 或使用 Redemption(我是它的作者)- 它的附件对象公开 AsText
、AsArray
等属性。
set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set item = Session.GetMessageFromID(Application.ActiveExplorer.Selection(1).EntryID)
for each attach in item.Attachments
MsgBox attach.AsText
next
有一个关于如何做到这一点的例子here:
使用:
var attachmentData =
attachment.PropertyAccessor.GetProperty(
PR_ATTACH_DATA_BIN);
但是当我尝试这样做时,我遇到了一个例外。
是否可以在 Outlook 插件中获取附件内容(eml 文件)API?。如果是,请指导如何做。
调用 Attachment.SaveAsFile
保存附件。
如果您试图在不将附件另存为文件的情况下访问附件内容,Outlook 对象模型将无济于事。您可以使用扩展 MAPI(仅限 C++ 或 Delphi)并将附件数据作为流打开 (IAttach::OpenProperty(PR_ATTACH_DATA_BIN, IID_IStream, ...)
) 或使用 Redemption(我是它的作者)- 它的附件对象公开 AsText
、AsArray
等属性。
set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set item = Session.GetMessageFromID(Application.ActiveExplorer.Selection(1).EntryID)
for each attach in item.Attachments
MsgBox attach.AsText
next
有一个关于如何做到这一点的例子here:
使用:
var attachmentData =
attachment.PropertyAccessor.GetProperty(
PR_ATTACH_DATA_BIN);
但是当我尝试这样做时,我遇到了一个例外。