首页 > 编程 > Python > 正文

如何使用Python发送HTML格式的邮件

2020-02-15 21:16:54
字体:
来源:转载
供稿:网友

这篇文章主要介绍了如何使用Python发送HTML格式的邮件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

发送html格式的和普通文本格式差不多,只是MIMEText(content,"html","utf-8"))与MIMEText(content,"plain","utf-8"))格式的区别,格式改一下就行了

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/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 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!"

结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林站长站。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表