VBScript:使用Outlook在用户邮箱中创建文件夹失败

时间:2014-09-09 11:35:16

标签: email vbscript outlook exchange-server

我尝试使用Outlook在用户收件箱中创建一个文件夹:

' works fine:
Set oOutlookSession = CreateObject("Outlook.Application")
Set oNamespace = oOutlookSession.GetNamespace("MAPI")
Call oNamespace.Logon("", "", False, True)
Set oRecipient = oNamespace.CreateRecipient("John.doe@companyA.com")
Call oRecipient.Resolve()

' here: problem if user has multiple email adresses, 
'       working fine if user has only one email address:
Set oInbox = oNamespace.GetSharedDefaultFolder(oRecipient, 6)

' working fine if inbox was retrieved
Call oInbox.Folders.Add("myFolder")

如果用户只有一个SMTP地址(John.doe@companyA.com),则整个脚本工作正常。如果他的Exchange个人资料中有另一个SMTP地址(如John.Doe@companyB.com),我在这里收到错误。

我知道两个SMTP地址中的前缀('@'之前的所有内容)完全相同。但即使我尝试使用其他SMTP-Address,我也会遇到同样的错误:

Hex(Err.Number) = &h8004010F  ' i.e. MAPI_E_NOT_FOUND

我做错了什么?请帮助,这真的令人沮丧...

1 个答案:

答案 0 :(得分:0)

您的代码是否作为计划任务运行? Outlook(就像任何其他Office应用程序一样)无法在服务中使用。