【问题标题】:I am trying to send mail using Python and outlook but getting error at end at mail.Send()我正在尝试使用 Python 和 Outlook 发送邮件,但在 mail.Send() 处出现错误
【发布时间】:2021-10-21 08:50:57
【问题描述】:
OlaApp = win32.Dispatch('Outlook.Application')
olNS = olApp.GetNameSpace('MAPI')
mail  = ol.App.CreateItem(0)

mail.To = ''
mail.Subject = ''
mail.Body = ''
mail.Attachements.Add(max_file)
# here is max_file is latest file from the folder
mail.Display() -- able to see mail

mail.Send() 

我可以看到电子邮件,但发送电子邮件时出现以下错误:-

com_error :(-2147467260,'Operation aborted',None,None)

【问题讨论】:

    标签: python email automation outlook win32com


    【解决方案1】:

    不要无模式地显示消息 (Display) 并在消息仍在显示时调用 Send。这是一个或另一个。

    【讨论】:

      【解决方案2】:

      看来您在 Outlook 中遇到了安全问题...

      当您尝试从外部应用程序自动化 Outlook 时,Send 方法可能会引发异常。如果您尝试访问任何受保护的属性或方法,它也可能是 Outlook 发出的提示。但在你的情况下,这是一个例外。您会收到安全提示/异常,因为 Outlook 是通过以下方式之一在客户端计算机上配置的:

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

      如果系统上安装了任何最新的防病毒软件,您可以创建一个组策略来防止显示安全提示,或者只是关闭这些警告(不建议这样做)。

      Security Behavior of the Outlook Object Model 文章中了解更多信息。

      您还可以考虑使用构建 Outlook 且不会产生安全问题的低级代码 - 扩展 MAPI。考虑使用围绕该 API 的任何第三方包装器,例如 Redemption

      另一个选项是Outlook Security Manager,它允许在运行时即时抑制 Outlook 安全问题。

      【讨论】:

        猜你喜欢
        • 2018-02-27
        • 2020-06-02
        • 1970-01-01
        • 2022-11-13
        • 1970-01-01
        • 2017-10-28
        • 1970-01-01
        • 2014-03-22
        • 1970-01-01
        相关资源
        最近更新 更多