首页 > 解决方案 > 从 Outlook 邮箱中读取电子邮件

问题描述

Outlook 产品版本:16.0.1073020348

所以我制作了一个脚本来阅读电子邮件并将它们插入数据库。

问题:脚本当前正在从我的收件箱(红旗)而不是从共享邮箱(蓝旗)中读取

所需解决方案:检查共享邮箱(蓝旗)

我的 Outlook 应用程序

目前我的代码看起来像这样:

Set objOutlook = CreateObject("Outlook.Application")

Set objNamespace = objOutlook.GetNamespace("MAPI")
'PROBLEM HERE I GUESS
Set objFolder = objNamespace.GetDefaultFolder(6) 'Inbox

Set colItems = objFolder.Items

Set colFilteredItems = colItems.Restrict("[Unread]=true")

Set colFilteredItems = colFilteredItems.Restrict("[Subject] = SUBJECT")


For k = colFilteredItems.Count to 1 step -1 
    set objMessage  = colFilteredItems.Item(k)
    '....
next

任何帮助表示赞赏

尝试了@josefZ 建议的方法,但在第一次尝试时一直在努力(最后一行失败):

Set myRecipient = objNamespace.CreateRecipient("mailbox@mail.com")

myRecipient.Resolve

Set objFolder = objNamespace.GetSharedDefaultFolder(myRecipient,olFolderInbox).Folders("Bandeja de Entrada")

错误脚本

标签: vbscriptoutlookscripting

解决方案


您可以使用GetSharedDefaultFolder,或者由于已在配置文件中打开委托存储,因此从Namespace.Stores集合中检索委托邮箱并使用Store.GetDefaultFolder而不是Namespace.GetDefaultFolder.


推荐阅读