首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Javascript调用的VB脚本-无法获得Outlook发件人地址

从Javascript调用的VB脚本-无法获得Outlook发件人地址
EN

Stack Overflow用户
提问于 2021-08-16 21:49:44
回答 1查看 131关注 0票数 0

我正在使用IE 11从内部网页面调用VBS函数(是的,它必须是那个浏览器)。该函数处理一个Outlook邮箱,并且部分工作:我可以列出邮件列表并找到主题和正文,但我需要发件人的电子邮件地址。当我运行与Outlook宏类似的代码时,我可以以各种方式实现这一点,但是没有一个在VBS中工作--当我试图获得任何感兴趣的内容时,脚本只是挂起(没有错误消息)--请看这个函数,还有我尝试过的各种注释。任何关于我哪里出错的建议都会感激地收到.

代码语言:javascript
复制
    Function readEmails(mailbox)
    Dim iCt  
        Set objOutlook = CreateObject("Outlook.Application")
        Set NS = objOutlook.GetNamespace("MAPI")
        Set olFolder = NS.Folders(mailbox)
        Set olFolInbox = olFolder.Folders("Inbox")
    
        iCt = 0
        For iCt =1 to olFolInbox.Items.Count 
            set olMessage=olFolInbox.Items(iCt)
                msgbox(ict & "-" & olMessage.Subject )
                msgbox("SenderEmailType=" & olMessage.SenderEmailType)
                msgbox("SenderEmailAddress=" & olMessage.SenderEmailAddress)    'hangs
                'set sn=olMessage.SenderName 'hangs
                set sUser=olMessage.Sender
                'set sn=sUser.Name 'hangs
                'msgbox(sUser) 'hangs
                'set sExUser=sUser.GetExchangeUser ' hangs
            End If
        Next 
        readEmails=sReturn
    End Function
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-17 16:31:56

当您从外部宏自动化Outlook时,似乎出现了安全问题--它可能是代码中的安全提示或异常。如何看待它取决于Outlook版本(它的内部实现)。为了避免在处理OOM时出现安全问题,可以使用以下方法:

  1. 使用不触发OOM中安全问题的低级API。Outlook构建在扩展的MAPI之上,与OOM不同,MAPI不会触发安全问题。此外,您也可以考虑在这个低级别的API (如Redemption )上使用任何包装器。
  2. 在OOM中使用设计用于关闭和安全检查的第三方组件,有关更多信息,请参见Outlook安全经理
  3. 您可以创建一个组策略来防止安全提示显示,如果系统上安装了最新的防病毒软件,或者只是关闭这些警告(这并不是真正推荐的)。

用户获得安全提示/异常,因为Outlook是以下列方式之一在客户端计算机上配置的:

  • 使用默认Outlook安全设置(即未设置组策略)
  • 使用组策略定义的安全设置,但未应用编程访问策略
  • 使用组策略定义的安全设置,设置为在防病毒软件不活动或过期时发出警告

Outlook对象模型的安全行为文章中阅读更多有关这方面的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68809573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档