python3使用SMTP发送HTML格式邮件
时间:2019-04-20
本文章向大家介绍python3使用SMTP发送HTML格式邮件,主要包括python3使用SMTP发送HTML格式邮件使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、设置开启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.同样,发送成功之后,如果在收件人的邮箱看不到邮件,可能是被当做垃圾邮件拦截了,可以去拦截记录里面找一下
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- (64) 常见文件类型处理: 属性文件/CSV/EXCEL/HTML/压缩文件 / 计算机程序的思维逻辑
- org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter与org.apache.struts2.dispatcher.
- Python协程演进过程
- Android TV开发简介
- (59) 文件和目录操作 / 计算机程序的思维逻辑
- Rdseed与SAC的安装
- Python爬虫大战京东商城
- (77) 异步任务执行服务 / 计算机程序的思维逻辑
- Unity Android Plugin开发指南
- Python还能做这个?真的好棒棒耶!
- java中Comparator的用法
- Python爬虫之豆瓣音乐及糗事百科
- oracle、mysql 分页查询比较
- Linux乱码问题解决方案
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 程序员说模型过拟合的时候,说的是什么?
- 分分钟教会你搭建企业级的 npm 私有仓库
- Golang语言之字符串操作
- Go语言ORM-gorm学习笔记(二)
- TypeScript: 常用的高级类型
- TypeScript:得泛型者,得天下
- 微信PC端多开的秘密
- Spring Cloud 微服务(七)- 上:日志收集集成
- Spring Cloud 微服务(七)- 下:日志收集详解
- Spring Cloud 微服务(八):链路追踪
- 一文带你网络安全 入门到入* [网络安全]
- 小白也能秒懂Vue源码中那些精细设计(选项处理)
- 软件品质评测系统-任务分发管理平台
- 彻底解决小程序无法触发SESSION问题
- 如何搭建前端异常监控系统