You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过代码自动确认Outlook发送邮件的允许弹窗?

解决Outlook发邮件时自动触发安全弹窗确认的问题

哥们,我之前也被这个Outlook的安全弹窗折腾过好多次,每次手动点允许真的太烦了!给你分享几个亲测有效的解决方案,你可以根据自己的场景选:

方法1:修改Outlook信任设置(最简单,无需改代码)

直接让Outlook信任你的脚本操作,彻底关掉弹窗:

  • 打开Outlook,点击顶部「文件」→「选项」→「信任中心」→「信任中心设置」
  • 切换到「程序访问」选项卡,找到「电子邮件安全」下的「程序访问」区域
  • 选择从不警告我可疑活动(注意:这个会降低一点安全性,如果你电脑环境安全的话完全没问题)
  • 或者更稳妥的方式:把你的Python脚本所在文件夹添加到「受信任的位置」(在信任中心的「受信任位置」选项卡操作)

方法2:用自动化工具模拟点击(适合临时场景)

如果不想改动Outlook设置,可以用pyautogui模拟键盘或鼠标操作来点击弹窗按钮:
首先安装pyautogui:

pip install pyautogui

然后修改你的脚本:

import win32com.client
import pyautogui
import time

def send_notification(): 
    outlook = win32com.client.Dispatch('outlook.application') 
    mail = outlook.CreateItem(0) 
    mail.To = 'xxx@xx.com' 
    mail.Subject = 'xxx' 
    mail.HTMLBody = body_all 
    # 延迟2秒,等安全弹窗加载完成(可根据自己电脑速度调整时长)
    time.sleep(2)
    # 模拟快捷键点击:英文弹窗是Alt+Y,中文弹窗如果按钮显示「允(Y)」也用这个组合键
    pyautogui.hotkey('alt', 'y')
    # 也可以用坐标点击(先运行pyautogui.position()获取按钮的准确坐标)
    # pyautogui.click(x=123, y=456)
    mail.Send()

⚠️ 注意:坐标会随Outlook版本、系统语言、屏幕分辨率变化,用快捷键的稳定性更高。

方法3:使用Redemption库(最稳定的专业方案)

Redemption是专门绕过Outlook安全限制的COM组件,完全不会触发弹窗,适合长期使用:

  1. 先安装Redemption组件(搜索Redemption Outlook下载对应版本,安装后完成组件注册)
  2. 修改脚本如下:
import win32com.client

def send_notification():
    # 初始化Redemption会话
    session = win32com.client.Dispatch("Redemption.RDOSession")
    session.Logon()  # 自动使用当前Outlook登录的账号,无需手动输入密码
    # 创建邮件
    mail = session.CreateMessageFromMsgFile()
    mail.To = 'xxx@xx.com'
    mail.Subject = 'xxx'
    mail.HTMLBody = body_all
    # 发送邮件,无安全弹窗干扰
    mail.Send()
    session.Logoff()

这个方法是企业级开发常用的,稳定性拉满,完全不用担心弹窗问题。

内容的提问来源于stack exchange,提问作者Rysio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:06:56