win32 Outlook使用sendkeys发送邮件

时间:2018-05-01 13:18:13

标签: python winapi outlook sendkeys

我目前有一个完成发送电子邮件的工作脚本。但是,始终需要通过单击确认窗口中的允许按钮来手动确认发送。

我的目标是自动按下允许按钮。

我目前的剧本:

def send_notification():
 outlook = win32.Dispatch('outlook.application')
 mail = outlook.CreateItem(0)
 mail.To = 'xxx@xx.com'
 mail.Subject = 'xxx'
 mail.HTMLBody = body_all
 mail.send

知道如何在代码中确认窗口吗? 我也尝试使用mail.Display而不是mail.send,但两者都会停止代码等待确认窗口,然后再执行最终的代码(如sendkeys或类似代码)。

非常感谢, 最好的问候

理查德

2 个答案:

答案 0 :(得分:1)

我找到了解决方案。

def send_notification():
 outlook = win32.Dispatch('outlook.application')
 shell = win32.Dispatch("WScript.Shell")
 mail = outlook.CreateItem(0)

 mail.To = 'xx@xx.com'
 mail.Subject = 'xx'
 mail.HTMLBody = body_all
 mail.Display()
 shell.AppActivate("Outlook")
 sleep(1)
 shell.SendKeys("%s", 0)

答案 1 :(得分:0)

有关选项列表,请参阅http://www.outlookcode.com/article.aspx?id=52。基本上,您的选择是