Vbscript 从outlook邮箱读取电子邮件

Vbscript 从outlook邮箱读取电子邮件,vbscript,outlook,scripting,Vbscript,Outlook,Scripting,Outlook产品版本:16.0.1073020348 所以我制作了一个脚本来阅读电子邮件并将它们插入数据库 问题:脚本当前正在从我的Inboxred标志读取,而不是从shared mailboxblue标志读取 所需解决方案:选中共享邮箱蓝色标志 目前,我的代码如下所示: Set objOutlook = CreateObject("Outlook.Application") Set objNamespace = objOutlook.GetNamespace("MAPI") 'PROBLE

Outlook产品版本:16.0.1073020348

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

问题:脚本当前正在从我的Inboxred标志读取,而不是从shared mailboxblue标志读取

所需解决方案:选中共享邮箱蓝色标志

目前,我的代码如下所示:

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,或者,由于代理存储已在配置文件中打开,因此可以从命名空间中检索代理邮箱。Stores集合并使用store.GetDefaultFolder而不是Namespace.GetDefaultFolder。

应用而不是GetDefaultFolder one?@JosefZ尝试过,但出现一些错误,更新的问题你能查一下吗?@JosefZ nevermind