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

如何在Outlook收到新邮件时自动执行Python脚本?

实现Outlook新邮件到达时自动执行Python脚本

步骤1:打开Outlook VBA编辑器

按 Alt + F11 打开Outlook的VBA编辑器,在左侧项目窗格中找到并双击 ThisOutlookSession 模块。

步骤2:编写全局对象与初始化代码

在模块顶部声明全局的Items对象(避免Outlook对象生命周期导致事件失效),并在Outlook启动时绑定到收件箱:

Dim WithEvents InboxItems As Outlook.Items

Private Sub Application_Startup()
    Dim ns As Outlook.NameSpace
    Dim inboxFolder As Outlook.Folder
    
    Set ns = Application.GetNamespace("MAPI")
    Set inboxFolder = ns.GetDefaultFolder(olFolderInbox)
    Set InboxItems = inboxFolder.Items
End Sub

步骤3:编写新邮件触发的事件处理代码

添加ItemAdd事件,当收件箱新增项目时触发,判断是否为邮件后执行你的Python脚本:

Private Sub InboxItems_ItemAdd(ByVal Item As Object)
    ' 仅处理邮件类型,排除日历、任务等其他项目
    If TypeName(Item) = "MailItem" Then
        ' 调用你的Python脚本,路径含空格需用双引号包裹
        Dim cmd As String
        cmd = "cmd /c ""C:\Users\dimitrios\Anaconda3\Scripts\activate.bat"" & python ""C:\Users\dimitrios\test\outlookconnnectivity.py"""
        
        ' 使用vbHide隐藏命令行窗口,可选
        Shell cmd, vbHide
    End If
End Sub

关键注意事项

  • 宏权限设置:Outlook默认会阻止未签名的宏,需要在「文件」→「选项」→「信任中心」→「信任中心设置」→「宏设置」中选择「启用所有宏(不推荐;可能会运行危险代码)」或「启用签署的宏」并给你的VBA项目签名。
  • 路径正确性:确保activate.bat和Python脚本的路径完全正确,若路径包含空格,必须用双引号将路径包裹(如示例中所示)。
  • 测试方式:修改代码后重启Outlook,使Application_Startup生效,再给自己发测试邮件验证脚本是否自动执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 02:10:36