这篇文章主要介绍了如何使用Python发送HTML格式的邮件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 发送html格式的和普通
这篇文章主要介绍了如何使用Python发送HTML格式的邮件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
发送html格式的和普通文本格式差不多,只是MIMEText(content,"html","utf-8"))与MIMEText(content,"plain","utf-8"))格式的区别,格式改一下就行了
Python发送HTML格式的邮件与发送纯文本消息的邮件不同之处就是将MIMEText中_subtype设置为html。具体代码如下:
#"-*- coding: utf-8 -*-" import smtplib from email.mime.text import MIMEText mail_user = raw_input("请输入你的163邮箱: ") mail_password = raw_input("请输入邮箱授权码: ") mail_from = raw_input("来自: ") mail_sub = raw_input("邮件主题: ") mail_content = raw_input("邮件内容: ") #例如: html格式的: "<a href='http://www.cnblogs.com/xiaowuyi'>小五义</a>" #mailto_list = raw_input("") #qq邮箱 mail_host="smtp.163.com" mail_postfix="163.com" def sendmail(sub,content): me=mail_from+"<"+mail_user+">" msg=MIMEText(content,"html","utf-8") msg['Subject']=sub msg['From']=me to_list = map(None, raw_input("发送给: ").split(' ')) msg['To']=",".join(to_list) try: server=smtplib.SMTP() server.connect(mail_host) server.login(mail_user,mail_password) server.sendmail(me,to_list,msg.as_string()) server.close() return True except Exception,e: print str(e) return False if sendmail(mail_sub, mail_content): print "done!" else: print "falsed!" #第二种方法: #!/usr/bin/python #-*- coding: utf-8 -*- from email import encoders from email.header import Header from email.mime.text import MIMEText from email.utils import parseaddr, formataddr import smtplib mailer_name=raw_input("from: ") mail_user=raw_input("163 email address: ") mail_pass=raw_input("邮箱授权码: ") mail_content=raw_input("content: ") #邮件内容是html格式的 mail_host="smtp.163.com" mail_postfix="163.com" def send_mail(sub,content): me=mailer_name +"<"+mail_user+">" msg=MIMEText(content,"html","utf-8") msg['Subject']=sub msg['From']=me to_list = map(None,raw_input("mail_to: ").split(" "))#可以群发 msg['To']=",".join(to_list) try: server=smtplib.SMTP() server.connect(mail_host) server.login(mail_user,mail_pass) server.sendmail(me,to_list,msg.as_string()) server.close() return True except Exception,e: print str(e) return False if send_mail("邮件",mail_content): print "done!" else: print "failed!"
结果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。