从outlook邮箱读取邮件

Read Emails from outlook mailbox

Outlook 产品版本:16.0.1073020348

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

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

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

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

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")

像这样工作:

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

myRecipient.Resolve

Set objFolder = objNamespace.GetSharedDefaultFolder(myRecipient,6) 'inbox

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