我正在尝试使用Python创建一个Outlook (.msg)文件,特别是使用Flask。
我现在拥有的是:
import win32com.client
def html2msg():
com_object = win32com.client.Dispatch('Outlook.Application')
com_file = com_object.CreateItem(0)
com_file.Subject = 'Subject'
com_file.HTMLBody = '<html><head></head><body><p>Test Email</p></body></html>'
com_file.SaveAs('new.msg')
com_file.Close(0)
当在Windows中作为用户运行时,或者当烧瓶应用程序作为用户手动运行时,它可以很好地工作。
当它在IIS
后面使用wfastcgi
运行时,问题就出现了:我得到了这个非特定的错误:
File "<COMObject Outlook.Application>", line 2, in CreateItem
pywintypes.com_error: (-2147467260, 'Operation aborted', None, None)
我以前与Word有类似的(Ish)问题,这些问题是由于com对象在系统配置文件下运行而引起的,并通过创建一个文件夹(如:https://theether.net/kb/100120?id=100120 )来解决。
有没有人能做到类似的事情?
发布于 2020-06-01 14:10:05
当它在IIS后面运行时出现了这个问题:我得到了这个非特定的错误:
办公服务器端自动化的几点思考文章为您获得的错误声明了以下内容:
Microsoft目前不建议也不支持来自任何无人值守、非交互式客户端应用程序或组件(包括ASP、ASP.NET、DCOM和NT服务)的Microsoft应用程序的自动化,因为在此环境中运行Office时,Office可能会出现不稳定的行为和/或死锁。 如果您正在构建在服务器端上下文中运行的解决方案,则应尝试使用已为无人值守执行而安全的组件。或者,您应该尝试找到允许至少部分代码运行客户端的替代方案。如果您使用来自服务器端解决方案的Office应用程序,则该应用程序将缺乏许多成功运行所需的功能。此外,您将承担风险与您的整体解决方案的稳定性。
作为一种解决办法,您需要使用Outlook所基于的低级别API (Outlook是基于- Extended ),或者仅仅使用围绕该API的任何包装器,比如Redemption。
如果只处理Exchange服务器配置文件,请考虑使用EWS,有关更多信息,请参见开始在Exchange中使用web服务。
https://stackoverflow.com/questions/62133540
复制相似问题