在继续执行我的脚本之前,我想检查配置了 Outlook 帐户的交换服务器是否可用。目前,我不检查,如果存在连接问题,脚本将永远挂在这一行
Set m_objNS = m_objOutlook.GetNamespace("MAPI")
并显得反应迟钝。
如果在 Outlook API 中无法做到这一点,有没有办法可以检索交换服务器地址并 ping 它或在 .GetNameSpace 函数上设置 20 秒超时?
更新:如果网络适配器有问题(比如它被禁用),代码可以访问命名空间对象。交换模式将始终为 400,直到出现授权代码的提示并且用户接受它。但是,如果存在真正的(非测试目的问题),例如交换服务器已关闭(目标主机无法访问),Outlook 会在“尝试连接”状态下空闲,并且您无法访问 .Session 对象或 MAPI。
必须有一种方法来判断服务器是否已关闭。