2014-07-09 16 views
8

C'è un modo per inviare e-mail in formato HTML utilizzando Python's win32com.client (che utilizza Outlook 2007/2010). Il formato che sto usando ora assomiglia a questo:Python - Invia e-mail in formato HTML tramite Outlook 2007/2010 e 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() 

Questo invierà una e-mail di Outlook, inviato dal utente attualmente autenticato, al destinatario specificato, con un soggetto, il contenuto, e l'immagine allegata.

Desidero essere in grado di inviare un'immagine in linea, che può essere ottenuta utilizzando un allegato "incorporato", o semplicemente per collegare e immagine utilizzando HTML, o incorporare un'immagine utilizzando HTML e un'immagine con codifica Base64.

HTML è il mio approccio preferito, ma qualsiasi HTML che aggiungo al corpo è formattato e codificato come testo normale (ad esempio < diventa &lt;). C'è un modo per dire a Outlook che il contenuto del corpo è HTML e deve essere analizzato come tale?

risposta

11

Questo è il modo per rendere il corpo in formato html

newMail.HTMLBody = htmltext