能否通过VBScript设置Trust Centre,关闭邮件发送时的allow/deny弹窗?
用VBScript关闭Outlook邮件发送安全提示的方法
嘿,你的需求是可以实现的,但先敲个警钟:微软把「Never warn me about any suspicious activity (not recommended)」标为不推荐是有道理的——它会完全禁用Outlook对可疑邮件发送行为的安全校验,恶意脚本也能趁机发送邮件,所以一定要在信任的环境下用这个设置!
实现原理
Outlook的Trust Centre这个选项对应的是注册表中的一个DWORD值,我们可以通过VBScript直接修改这个注册表项,无需手动点击设置。不同Outlook版本的注册表路径略有差异,下面是主流版本的路径:
- Outlook 2016/2019/365:
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Security - Outlook 2013:
HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Security - Outlook 2010:
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Security
需要修改的键值是PromptOOMSend,将其设为0就对应启用那个“从不警告”的选项(设为1是默认的提示状态)。
VBScript代码示例
下面是针对Outlook 2016/365的脚本,如果你用的是旧版本,把路径里的16.0改成对应版本号即可:
Dim WshShell, regPath Set WshShell = CreateObject("WScript.Shell") ' 对应Outlook 2016/365的注册表路径,根据版本修改数字 regPath = "HKCU\Software\Microsoft\Office\16.0\Outlook\Security\" ' 设置PromptOOMSend为0,禁用发送提示 WshShell.RegWrite regPath & "PromptOOMSend", 0, "REG_DWORD" WScript.Echo "设置已完成!请重启Outlook使更改生效。" Set WshShell = Nothing
注意事项
- 重启Outlook:修改注册表后必须重启Outlook,设置才会生效。
- 权限问题:因为修改的是当前用户(HKCU)的注册表项,不需要管理员权限,普通用户权限即可运行脚本。
- 安全风险:再次提醒,这个设置会让Outlook失去对脚本发送邮件的安全校验,如果你不是完全信任要运行的VBS邮件脚本,不要开启这个选项!
内容的提问来源于stack exchange,提问作者vmk
相关产品推荐
相关产品推荐

