0

我正在用 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....

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

4

2 回答 2

5

代替

msg.attach(MIMEText(text))

经过

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

(默认为“普通”)

于 2011-11-28T19:04:24.673 回答
2

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

于 2011-11-28T19:04:15.003 回答