Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否可以使用Windows OS Docker容器中的pywin32将电子邮件保存在Outlook Client Drafts文件夹中_Python_Docker_Docker Compose_Pywin32_Docker Container - Fatal编程技术网

Python 是否可以使用Windows OS Docker容器中的pywin32将电子邮件保存在Outlook Client Drafts文件夹中

Python 是否可以使用Windows OS Docker容器中的pywin32将电子邮件保存在Outlook Client Drafts文件夹中,python,docker,docker-compose,pywin32,docker-container,Python,Docker,Docker Compose,Pywin32,Docker Container,我正在尝试在Windows容器中对Python报告进程进行Dockerize。Python脚本在Outlook电子邮件客户端草稿文件夹中生成Excel报告和电子邮件草稿 Docker主机和容器具有Windows操作系统。我的脚本完全在Docker中运行,除了最后一个障碍,即电子邮件在发送之前会保存在outlook草稿文件夹中以供人工验证 为了创建电子邮件,脚本使用python包pywin32: #Set outlook in win32com outlook = win32com.client.

我正在尝试在Windows容器中对Python报告进程进行Dockerize。Python脚本在Outlook电子邮件客户端草稿文件夹中生成Excel报告和电子邮件草稿

Docker主机和容器具有Windows操作系统。我的脚本完全在Docker中运行,除了最后一个障碍,即电子邮件在发送之前会保存在outlook草稿文件夹中以供人工验证

为了创建电子邮件,脚本使用python包pywin32:

#Set outlook in win32com
outlook = win32com.client.Dispatch("Outlook.Application")

# Create a new MailItem object
msg = outlook.CreateItem(0)
msg.GetInspector.WordEditor.Range(Start=0, End=0).Paste()

#Subject
emailSubject = "Please find attached the report for the week ending {}".format(endDate)
msg.Subject = emailSubject

#Distro
msg.To = 'foo@foo.com'
msg.BCc = (distro)

#Attach new Week Ending HIS Report
file_location = "C:\\WeeklyReports\\"
msg.Attachments.Add(file_location + FinalReport)

#msg.Display(False)
msg.Save()  #save to drafts folder in outlook
当然,由于没有Outlook客户端,上述操作在Windows容器中不起作用。尝试向公司MS exchange服务器发送电子邮件也会增加复杂性

这根本不可能。我没有找到多少关于如何处理这一问题的信息。但是,有人能想到一种方法,我可以从windows Docker容器中打开电子邮件客户端(最好是Outlook),或者在容器中,或者执行一个进程,启动Outlook的主机安装并将电子邮件保存在草稿文件夹中吗

也许我需要在容器中安装Outlook或其他电子邮件客户端,并构建自己的映像。不确定。但我想我会把它放在那里的想法。我不确定在容器中安装Outlook是否符合MS许可协议。到目前为止,我发现了一些相关信息: