win32 Outlook отправляет почту с sendkeys - PullRequest
0 голосов
/ 01 мая 2018

В настоящее время у меня есть рабочий скрипт, который закончил отправку электронной почты. Однако всегда необходимо вручную подтвердить отправку, нажав на кнопку разрешения в окне подтверждения.

Моя цель - автоматически нажать кнопку разрешения.

Мой текущий скрипт:

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 или аналогичный).

Большое спасибо заранее, С наилучшими пожеланиями

Richard

Ответы [ 2 ]

0 голосов
/ 01 мая 2018

См. http://www.outlookcode.com/article.aspx?id=52 для списка ваших вариантов. По сути, ваши варианты

0 голосов
/ 01 мая 2018

Я нашел решение.

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)
...