Python中怎么发送HTML格式的邮件
Python中怎么发送HTML格式的邮件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
Python发送HTML格式的邮件与发送纯文本消息的邮件不同之处就是将MIMEText中_subtype设置为html。具体代码如下:
#"-*- coding: utf-8 -*-"import smtplibfrom email.mime.text import MIMETextmail_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/xiao*'>小五义</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 Falseif sendmail(mail_sub, mail_content): print "done!"else: print "falsed!"#第二种方法:#!/usr/bin/python#-*- coding: utf-8 -*-from email import encodersfrom email.header import Headerfrom email.mime.text import MIMETextfrom email.utils import parseaddr, formataddrimport smtplibmailer_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 Falseif send_mail("邮件",mail_content): print "done!"else: print "failed!"
看完上述内容,你们掌握Python中怎么发送HTML格式的邮件的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!