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多进程实现进程间通信实例
Nov 24 Python
python logging日志模块以及多进程日志详解
Apr 18 Python
matplotlib 输出保存指定尺寸的图片方法
May 24 Python
Python实现端口检测的方法
Jul 24 Python
Python去除字符串前后空格的几种方法
Mar 04 Python
python 将日期戳(五位数时间)转换为标准时间
Jul 11 Python
Python实现多线程/多进程的TCP服务器
Sep 03 Python
PYTHON发送邮件YAGMAIL的简单实现解析
Oct 28 Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
Dec 11 Python
Python变量作用域LEGB用法解析
Feb 04 Python
Python流程控制语句的深入讲解
Jun 15 Python
python3定位并识别图片验证码实现自动登录功能
Jan 29 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
PHP is_dir() 判断给定文件名是否是一个目录
2010/05/10 PHP
PHP写杨辉三角实例代码
2011/07/17 PHP
php将远程图片保存到本地服务器的实现代码
2015/08/03 PHP
PHP实现对二维数组某个键排序的方法
2016/09/14 PHP
NiftyCube——轻松实现圆角边框
2007/02/20 Javascript
javascript得到XML某节点的子节点个数的脚本
2008/10/11 Javascript
window.onload 加载完毕的问题及解决方案(上)
2009/07/09 Javascript
JSON+JavaScript处理JSON的简单例子
2013/03/20 Javascript
jquery text(),val(),html()方法区别总结
2013/11/04 Javascript
改变隐藏的input中value值的方法
2014/03/19 Javascript
jquery使用remove()方法删除指定class子元素
2015/03/26 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
angular仿支付宝密码框输入效果
2017/03/25 Javascript
vue.js实例todoList项目
2017/07/07 Javascript
基于Vue实例对象的数据选项
2017/08/09 Javascript
VueJs使用Amaze ui调整列表和内容页面
2017/11/30 Javascript
微信小程序icon组件使用详解
2018/01/31 Javascript
微信小程序模板template简单用法示例
2018/12/04 Javascript
Element中Slider滑块的具体使用
2020/07/29 Javascript
vue根据条件不同显示不同按钮的操作
2020/08/04 Javascript
jQuery实现容器间的元素拖拽功能
2020/12/01 jQuery
[03:55]DOTA2完美大师赛选手传记——LFY.MONET
2017/11/18 DOTA
Python使用Srapy框架爬虫模拟登陆并抓取知乎内容
2016/07/02 Python
Python 实现网页自动截图的示例讲解
2018/05/17 Python
python实现自动网页截图并裁剪图片
2018/07/30 Python
python实现根据指定字符截取对应的行的内容方法
2018/10/23 Python
巴西Mr. Cat在线商店:购买包包和鞋子
2019/09/08 全球购物
定义一结构体变量,用其表示点坐标,并输入两点坐标,求两点之间的距离
2015/08/17 面试题
餐饮营销方案
2014/02/23 职场文书
畜牧兽医本科生的自我评价
2014/03/03 职场文书
3分钟英语演讲稿
2014/04/29 职场文书
2014医学院领导干部四风对照检查材料思想汇报
2014/09/16 职场文书
纪录片信仰观后感
2015/06/08 职场文书
又涨知识了,自律到底多重要?
2019/06/27 职场文书
MySQL 角色(role)功能介绍
2021/04/24 MySQL
Mysql查询时间区间日期列表,不会由于数据表数据影响
2022/04/19 MySQL