sendmail与HTML消息

时间:2011-11-28 19:00:57

标签: python html mime-types sendmail mime-message

我正在用Python编程。我已经有一个函数发送一封带有消息和附件的电子邮件....我唯一的问题是我希望消息是HTML,但我的不尊重......

这是我正在使用的功能

def enviarCorreo(fromaddr, toaddr, text, file):
   msg = MIMEMultipart('mixed')
   msg['From'] = fromaddr
   msg['To'] = toaddr
   msg['Subject'] = 'asunto'
   msg.attach(MIMEText(text))
   #adjunto
   adjunto = MIMEBase('application', "octet-stream")
   adjunto.set_payload(open(file, "rb").read())
   encode_base64(adjunto)
   anexo = os.path.basename(file)
   adjunto.add_header('Content-Disposition', 'attachment; filename= "%s"' % anexo)
   msg.attach(adjunto)
   #enviar
   server = smtplib.SMTP('localhost')
   server.set_debuglevel(1)
   server.sendmail(fromaddr, toaddr, msg.as_string())
   server.quit()
   return

我希望您能告诉我要更改的内容或添加内容,以便我发送的邮件可能是HTML ....

我正在使用“MIXED”Multipart,因为HTML消息将包含一些不会附加但会成为消息的一部分的图像......

2 个答案:

答案 0 :(得分:5)

替换

msg.attach(MIMEText(text))

通过

msg.attach(MIMEText(text, 'html'))

(默认为'plain')

答案 1 :(得分:2)

官方文档页面上有一个发送HTML电子邮件的示例 - http://docs.python.org/library/email-examples.html