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 05 Python
Python切片知识解析
Mar 06 Python
深入理解python多进程编程
Jun 12 Python
python实现中文转换url编码的方法
Jun 14 Python
python批量替换页眉页脚实例代码
Jan 22 Python
python实现彩色图转换成灰度图
Jan 15 Python
selenium+python环境配置教程详解
May 28 Python
PyQT5 emit 和 connect的用法详解
Dec 13 Python
如何定义TensorFlow输入节点
Jan 23 Python
简单了解Python多态与属性运行原理
Jun 15 Python
django中cookiecutter的使用教程
Dec 03 Python
python如何用matplotlib创建三维图表
Jan 26 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(一)
2012/03/21 PHP
php从csv文件读取数据并输出到网页的方法
2015/03/14 PHP
PHP7 字符串处理机制修改
2021/03/09 PHP
js实现拉伸拖动iframe的具体代码
2013/08/03 Javascript
深入理解Javascript动态方法调用与参数修改的问题
2013/12/10 Javascript
js中function()使用方法
2013/12/24 Javascript
html的DOM中Event对象onblur事件用法实例
2015/01/21 Javascript
JavaScript实现带箭头标识的多级下拉菜单效果
2015/08/27 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
2015/12/02 Javascript
JavaScript自学笔记(必看篇)
2016/06/23 Javascript
js微信扫描二维码登录网站技术原理
2016/12/01 Javascript
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
Node.js log4js日志管理详解
2018/07/31 Javascript
浅谈Vue.js中如何实现自定义下拉菜单指令
2019/01/06 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
2019/04/15 Javascript
layui实现数据表格table分页功能(ajax异步)
2019/07/27 Javascript
[49:40]2018DOTA2亚洲邀请赛小组赛 A组加赛 TNC vs Newbee
2018/04/03 DOTA
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
使用Python的Flask框架表单插件Flask-WTF实现Web登录验证
2016/07/12 Python
python中执行shell的两种方法总结
2017/01/10 Python
Windows上使用Python增加或删除权限的方法
2018/04/24 Python
Python 实现在文件中的每一行添加一个逗号
2018/04/29 Python
python实现指定文件夹下的指定文件移动到指定位置
2018/09/17 Python
pandas 快速处理 date_time 日期格式方法
2018/11/12 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
python3 中时间戳、时间、日期的转换和加减操作
2020/07/14 Python
Kipling澳洲官网:购买凯浦林包包
2020/12/17 全球购物
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行?
2013/05/09 面试题
运动会四百米广播稿
2014/01/19 职场文书
村抢险救灾方案
2014/05/09 职场文书
小学运动会口号
2014/06/07 职场文书
四风问题个人对照检查材料
2014/09/26 职场文书
网上祭英烈活动总结
2015/02/04 职场文书
环保宣传语大全
2015/07/13 职场文书
2016年情人节问候语
2015/11/11 职场文书
2016年基层党组织创先争优承诺书
2016/03/25 职场文书