Подтвердите, было ли отправлено электронное письмо — win32com.client

#python #windows #outlook #pywin32 #win32com

Вопрос:

 outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.SentOnBehalfOfName = 'EMAIL'
mail.To = 'EMAIL'
mail.Subject = 'Message subject'
mail.Body = 'Message body'
mail.HTMLBody = 'HTML Message body' #this field is optional
mail.display(True)
 

Используя приведенный выше код, я могу отправлять письма через Outlook с помощью Python. Это открывает окно электронной почты, в котором я могу нажать кнопку «Отправить», чтобы, наконец, отправить электронное письмо.

Мой вопрос в том, могу ли я отследить, действительно ли было отправлено электронное письмо или кто-то просто закрыл окно Outlook? Просто чтобы убедиться, что код может отслеживать отправленные или не отправленные письма.

Комментарии:

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

2. Вы можете написать обработчик событий для события отправки MailItem, которое запускается непосредственно перед отправкой элемента (давая возможность отменить отправку).