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


Posted in Python onFebruary 11, 2020

这篇文章主要介绍了如何使用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!"

结果

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
解析Python中的变量、引用、拷贝和作用域的问题
Apr 07 Python
python制作小说爬虫实录
Aug 14 Python
django celery redis使用具体实践
Apr 08 Python
利用pyuic5将ui文件转换为py文件的方法
Jun 19 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
Jul 08 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
Dec 27 Python
python识别验证码图片实例详解
Feb 17 Python
Python3.6安装卸载、执行命令、执行py文件的方法详解
Feb 20 Python
增大python字体的方法步骤
Jul 05 Python
爬虫代理的cookie如何生成运行
Sep 22 Python
浅谈Python协程asyncio
Jun 20 Python
用Python编写简单的gRPC服务的详细过程
Jul 04 Python
python模式 工厂模式原理及实例详解
Feb 11 #Python
Python3搭建http服务器的实现代码
Feb 11 #Python
tensorflow实现二维平面模拟三维数据教程
Feb 11 #Python
python线程join方法原理解析
Feb 11 #Python
使用Python求解带约束的最优化问题详解
Feb 11 #Python
python 非线性规划方式(scipy.optimize.minimize)
Feb 11 #Python
使用遗传算法求二元函数的最小值
Feb 11 #Python
You might like
如何分别全角和半角以避免乱码
2006/10/09 PHP
php UTF8 文件的签名问题
2009/10/30 PHP
创建数据库php代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
php简单定时执行任务的实现方法
2015/02/23 PHP
PHP函数rtrim()使用中的怪异现象分析
2017/02/24 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
2017/06/07 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
php json转换相关知识(小结)
2018/12/21 PHP
PHP sdk实现在线打包代码示例
2020/12/09 PHP
日期 时间js控件
2009/05/07 Javascript
对xmlHttp对象的理解
2011/01/17 Javascript
jQuery中DOM节点删除之empty与remove
2017/01/20 Javascript
node.js中express中间件body-parser的介绍与用法详解
2017/05/23 Javascript
node通过express搭建自己的服务器
2017/09/30 Javascript
jquery根据name取得select选中的值实例(超简单)
2018/01/25 jQuery
JS简单获得节点元素的方法示例
2018/02/10 Javascript
JavaScript生成指定范围随机数和随机序列的方法
2018/05/05 Javascript
判断js数据类型的函数实例详解
2019/05/23 Javascript
Vue中消息横向滚动时setInterval清不掉的问题及解决方法
2019/08/23 Javascript
Vue之封装公用变量以及实现方式
2020/07/31 Javascript
[52:20]DOTA2-DPC中国联赛正赛 SAG vs XGBO3 第一场 3月5日
2021/03/11 DOTA
Django 前后台的数据传递的方法
2017/08/08 Python
今天 平安夜 Python 送你一顶圣诞帽 @微信官方
2017/12/25 Python
在Python运行时动态查看进程内部信息的方法
2019/02/22 Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
2019/08/05 Python
python sklearn包——混淆矩阵、分类报告等自动生成方式
2020/02/28 Python
Django用户认证系统如何实现自定义
2020/11/12 Python
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
英国钻石公司:British Diamond Company
2020/02/16 全球购物
提高EJB性能都有哪些技巧
2012/03/25 面试题
求职简历推荐信范文
2013/12/02 职场文书
应用艺术专业个人的自我评价
2014/01/03 职场文书
银行奉献演讲稿
2014/09/16 职场文书
学校2014重阳节活动策划方案
2014/09/16 职场文书
甜品店创业计划书
2014/09/21 职场文书
MYSQL(电话号码,身份证)数据脱敏的实现
2021/05/28 MySQL