2014-07-09 2 views
8

Gibt es eine Möglichkeit HTML-formatierte E-Mail unter Verwendung von Python win32com.client (die Outlook 2007/2010 verwendet) zu senden. Das Format ich benutze sieht nun wie folgt aus:Python - Senden Sie HTML-formatierte E-Mails über Outlook 2007/2010 und win32com

import win32com.client 
olMailItem = 0x0 
obj = win32com.client.Dispatch("Outlook.Application") 
newMail = obj.CreateItem(olMailItem) 
newMail.Subject = "the subject" 
newMail.Body = "body text" 
newMail.To = "[email protected]" 
attachment1 = "c:\\mypic.jpg" 
newMail.Attachments.Add(attachment1) 
newMail.Send() 

Dies wird eine E-Mail mit Outlook senden, von dem derzeit authentifizierten Benutzer gesendet, an den angegebenen Empfänger mit einem Betreff, Inhalt und Bild angehängt.

Ich möchte in der Lage sein, ein Inline-Bild zu senden, das mit einem "eingebetteten" Anhang erreicht werden kann oder einfach mit HTML verlinken und ein Bild einbetten oder ein Bild mit HTML und einem Base64-kodierten Bild einbetten kann.

HTML ist mein bevorzugter Ansatz, aber jedes HTML, das ich dem Text hinzufüge, wird als einfacher Text formatiert und codiert (z. B. < wird &lt;). Gibt es eine Möglichkeit, Outlook mitzuteilen, dass der Body-Inhalt HTML ist und als solches geparst werden sollte?

Antwort

11

Dies ist der Weg, den Körper im HTML-Format

newMail.HTMLBody = htmltext 
zu machen