python3使用SMTP发送HTML格式邮件


Posted in Python onJune 19, 2018

一、设置开启SMTP服务并获取授权码

可以参考第一篇文章,这里不再赘述:【一】Python3使用SMTP发送简单文本邮件

二、使用Python3 发送HTML格式的邮件

0.使用的环境为:

Python 3.6.3 (64bit)
PyCharm 2017.3 (64bit)

1.实现代码:

import smtplib 
from email.header import Header 
from email.mime.text import MIMEText 
 
 
# 发件人和收件人 
sender = 'XXXXX@163.com' 
receiver = 'XXXXX@qq.com' 
 
# 所使用的用来发送邮件的SMTP服务器 
smtpserver = 'smtp.163.com' 
 
# 发送邮箱的用户名和授权码(不是登录邮箱的密码) 
username = 'XXXXX' 
password = 'XXXXX' 
 
# 邮件主题 
mail_title = '主题:测试报告3' 
 
# 读取html文件内容 
f = open('report_test.html', 'rb') # HTML文件默认和当前文件在同一路径下,若不在同一路径下,需要指定要发送的HTML文件的路径 
mail_body = f.read() 
f.close() 
 
# 邮件内容, 格式, 编码 
message = MIMEText(mail_body, 'html', 'utf-8') 
message['From'] = sender 
message['To'] = receiver 
message['Subject'] = Header(mail_title, 'utf-8') 
 
 
try: 
  smtp = smtplib.SMTP() 
  smtp.connect('smtp.163.com') 
  smtp.login(username, password) 
  smtp.sendmail(sender, receiver, message.as_string()) 
  print("发送邮件成功!!!") 
  smtp.quit() 
except smtplib.SMTPException: 
  print("发送邮件失败!!!")

2.同样,发送成功之后,如果在收件人的邮箱看不到邮件,可能是被当做垃圾邮件拦截了,可以去拦截记录里面找一下

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

Python 相关文章推荐
浅谈python 里面的单下划线与双下划线的区别
Dec 01 Python
快速入门python学习笔记
Dec 06 Python
python实现机器人行走效果
Jan 29 Python
使用python读取txt文件的内容,并删除重复的行数方法
Apr 18 Python
Django读取Mysql数据并显示在前端的实例
May 27 Python
PyCharm在新窗口打开项目的方法
Jan 17 Python
numpy.random.shuffle打乱顺序函数的实现
Sep 10 Python
Python的互斥锁与信号量详解
Sep 12 Python
python实现俄罗斯方块小游戏
Apr 24 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
Nov 10 Python
python pillow库的基础使用教程
Jan 13 Python
pandas进行数据输入和输出的方法详解
Mar 23 Python
python3.X 抓取火车票信息【修正版】
Jun 19 #Python
python3使用SMTP发送简单文本邮件
Jun 19 #Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
Jun 19 #Python
python3第三方爬虫库BeautifulSoup4安装教程
Jun 19 #Python
python爬虫实例详解
Jun 19 #Python
Python实现的NN神经网络算法完整示例
Jun 19 #Python
python中的二维列表实例详解
Jun 19 #Python
You might like
再Docker中架设完整的WordPress站点全攻略
2015/07/29 PHP
学习php设计模式 php实现备忘录模式(Memento)
2015/12/09 PHP
CI(CodeIgniter)框架实现图片上传的方法
2017/03/24 PHP
利用PHP实现一个简单的用户登记表示例
2017/04/25 PHP
php中青蛙跳台阶的问题解决方法
2018/10/14 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
msn上的tab功能Firefox对childNodes处理的一个BUG
2008/01/21 Javascript
JSON 教程 json入门学习笔记
2020/09/22 Javascript
jquery 结合C#后台的数组对文章的关键字自动添加链接的代码
2011/07/15 Javascript
DOM基础教程之使用DOM设置文本框
2015/01/20 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
angular.js分页代码的实例
2016/07/27 Javascript
js代码实现下拉菜单【推荐】
2016/12/15 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
jQuery插件zTree实现清空选中第一个节点所有子节点的方法
2017/03/08 Javascript
JavaScript中在光标处插入添加文本标签节点的详细方法
2017/03/22 Javascript
JavaScript之Date_动力节点Java学院整理
2017/06/28 Javascript
详解使用Node.js 将txt文件转为Excel文件
2017/07/05 Javascript
JavaScript如何实现图片处理与合成
2020/05/29 Javascript
Python中的with...as用法介绍
2015/05/28 Python
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
python中执行shell的两种方法总结
2017/01/10 Python
python监控键盘输入实例代码
2018/02/09 Python
使用python判断你是青少年还是老年人
2018/11/29 Python
python读写csv文件的方法
2019/08/13 Python
Python3 使用selenium插件爬取苏宁商家联系电话
2019/12/23 Python
Python多线程threading join和守护线程setDeamon原理详解
2020/03/18 Python
python求解汉诺塔游戏
2020/07/09 Python
NFL墨西哥官方商店:Tienda NFL
2017/11/28 全球购物
Etam德国:内衣精品店
2019/08/25 全球购物
Oracle快照(snapshot)
2015/03/13 面试题
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
2013/11/04 面试题
单位消防安全制度
2014/01/12 职场文书
设备管理实施方案
2014/05/31 职场文书
篮球赛新闻稿
2015/07/17 职场文书
Mysql基础之常见函数
2021/04/22 MySQL