win32com.client.gencache.EnsureDispatch(“Outlook.Application”)无效

问题描述 投票:1回答:1

我试图通过Python脚本使用我的Outlook客户端发送电子邮件。当下面的Python脚本与IDLE编辑器分开执行时,它运行正常。但是当相同的代码行放在另一个Python脚本的末尾时(以便在触发逻辑执行电子邮件之后)并且从Tomcat服务器中托管的Web应用程序调用Python脚本时,它就不起作用了。

代码片段:

#!/Python36/python.exe -u

import win32com.client`

mail_subject = "Test Mail Subject"

mail_body    = "Test Mail Body"

Outlook      = Win32com.client.gencache.EnsureDispatch("Outlook.Application")
mail         = Outlook.CreateItem(0)
mail.To      = '[email protected]'
mail.Subject = mail_subject
mail.Body    = mail_body
mail.Send()

为了检查它失败的地方,我在每行之后打印了一些注释。结果发现: Outlook = win32com.client.gencache.EnsureDispatch("Outlook.Application")

从Web应用程序执行Python脚本时失败了。任何人都可以帮助解决问题。

python email outlook
1个回答
0
投票

根据您对问题的描述,您可以尝试以下两种方式:

1.请在win32com.Client.Gencache.EnsureDispatch("Outlook.Application")之前加入以下代码

from win32com.client.gencache import EnsureDispatch

2.您应该使用以下代码替换代码win32com. Client.Gencache.EnsureDispatch("Outlook.Application")

Gencache. EnsureDispatch ("Outlook.Application")

有关详细信息,请参阅以下网站:https://www.programcreek.com/python/example/103552/win32com.client.gencache.EnsureDispatch

如果您有任何疑问,请回复我。

© www.soinside.com 2019 - 2024. All rights reserved.