Как добавить .htm в тело письма с помощью win32com - PullRequest
0 голосов
/ 19 марта 2020

Мне нужно использовать win32com.client, чтобы отправить электронное письмо, в котором я добавлю подпись с расширением .htm в mail.HtmlBody. Однако каждый раз, когда я делаю это, я получаю UnicodeDecodeError.

Другими словами, как мне исправить проблему UnicodeDecodeError и добавить мой файл строки & htm в HtmlBody?

    self.mail = win32.Dispatch('outlook.application').CreateItem(0)
    self.curText = str(self.email.currentText())
    self.projectNameT = ' '.join(self.curText.split(' ')[7:])
    self.mail.To = 'ABC@XYZ.com' 
    self.mail.Subject = "Subject: " + str(self.projectNameT)
    self.someStr = 'Hello ' 
    self.html_url = open("SomePath//Signature.htm",encoding = 'utf16')
    self.data = self.html_url.read()
    self.mail.HtmlBody = self.someStr  + ('<p>self.data</p>')

1 Ответ

0 голосов
/ 19 марта 2020

Если вы хотите вставить подпись при использовании python и полностью программно, Исключение предоставляет объект RDOSignature , который реализует метод ApplyTo (он работает с файлами изображений подписи и объединяет HTML стилей). Поскольку с патчем безопасности для Outlook, многое невозможно сделать по наследству, поэтому вы должны обойти это, прежде чем продолжить как обычно

...