我试图通过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脚本时失败了。任何人都可以帮助解决问题。
根据您对问题的描述,您可以尝试以下两种方式:
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
如果您有任何疑问,请回复我。