Python win32com для пересылки выбранного письма с добавленным контентом - PullRequest
0 голосов
/ 04 октября 2019

Некоторое время назад я написал простое приложение на python, которое запрашивает у пользователей ввод данных и генерирует новое письмо через приложение Outlook на основе ввода. Теперь меня попросили добавить некоторые функции, чтобы приложение больше не создавало новую почту, а пересылало выбранное письмо и добавляло к нему контент. Хотя я смог написать код, который генерирует новое письмо, я полностью теряюсь, когда хочу приблизиться к нему с пересылкой выбранных писем.

В настоящее время я использую что-то подобное для отправки нового электронного письма:

import win32com.client
from win32com.client import Dispatch

const=win32com.client.constants
olMailItem = 0x0
obj = win32com.client.Dispatch("Outlook.Application")
newMail = obj.CreateItem(olMailItem)
newMail.SentOnBehalfOfName = 'mail@mail.com'
newMail.Subject = ""
newMail.BodyFormat = 2
newMail.HTMLBody = output
newMail.To = ""
newMail.CC = ""
newMail.display()

И я знаю, что с помощью чего-то подобного вы можете выбрать электронное письмо в Outlook, чтобы Python мог взаимодействовать с ним:

obj = win32com.client.Dispatch("Outlook.Application")
selection = obj.ActiveExplorer().Selection

Как объединить эти два, чтобы приложениепереслать выбранное письмо и добавить новый контент в начало? Я пытался выяснить это методом проб и ошибок, но в конце концов я сдался. Документация по Microsoft API также была не очень полезна для меня, так как я не был в состоянии понять многое из этого (я не разработчик). Любая помощь приветствуется.

1 Ответ

1 голос
/ 07 октября 2019

Заменить строку newMail = obj.CreateItem(olMailItem) на

newMail = obj.ActiveExplorer().Selection.Item(1).Forward()
...