python3使用SMTP发送简单文本邮件


Posted in Python onJune 19, 2018

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

0.如果使用第三方邮件服务器SMTP服务来发送邮件,首先要在邮箱设置里面开启POP3/SMTP/IMAP服务,下面以163邮箱为例,其它邮箱设置方法相同

163邮箱SMTP服务器:smtp.163.com

QQ邮箱SMTP服务器:smtp.qq.com

1.首先登录自己的邮箱,找到【设置】》【POP3/SMTP/IMAP】,开启相应的服务

python3使用SMTP发送简单文本邮件

python3使用SMTP发送简单文本邮件

2.然后开启并获取客户端授权码(这里的授权码并不是登录邮箱时的密码,而是第三方邮箱服务使用的授权码)

python3使用SMTP发送简单文本邮件

二、使用Python3 发送邮件

0.使用的环境为:
Python 3.6.3 (64bit)
PyCharm 2017.3 (64bit)

1.实现代码:

import smtplib 
from email.header import Header     # 用来设置邮件头和邮件主题 
from email.mime.text import MIMEText    # 发送正文只包含简单文本的邮件,引入MIMEText即可 
 
# 发件人和收件人 
sender = 'XXXXXXXXXXX@163.com' 
receiver = 'XXXXXXXXX@qq.com' 
 
# 所使用的用来发送邮件的SMTP服务器 
smtpServer = 'smtp.163.com' 
 
# 发送邮箱的用户名和授权码(不是登录邮箱的密码) 
username = 'XXXXXXXXXXX' 
password = 'XXXXXXXX' 
 
mail_title = '这里是邮件的主题' 
mail_body = '这里是邮件的正文' 
 
# 创建一个实例 
message = MIMEText(mail_body, 'plain', 'utf-8') # 邮件正文 
message['From'] = sender       # 邮件上显示的发件人 
message['To'] = receiver       # 邮件上显示的收件人 
message['Subject'] = Header(mail_title, 'utf-8') # 邮件主题 
 
try: 
 smtp = smtplib.SMTP()       # 创建一个连接 
 smtp.connect(smtpServer)      # 连接发送邮件的服务器 
 smtp.login(username, password)    # 登录服务器 
 smtp.sendmail(sender, receiver, message.as_string()) # 填入邮件的相关信息并发送 
 print("邮件发送成功!!!") 
 smtp.quit() 
except smtplib.SMTPException: 
 print("邮件发送失败!!!")

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

python3使用SMTP发送简单文本邮件

接收方收到的邮件:

python3使用SMTP发送简单文本邮件

3.这里是发送最简单的格式的邮件的示例,正文只包含文本

还可以发送:
正文为HTML格式的邮件
包含附件的邮件(附件可以是HTML网页,TXT文本,JPG图片,以及音频、视频等)
后面继续讲

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

Python 相关文章推荐
paramiko模块安装和使用(远程登录服务器)
Jan 27 Python
python字符串连接的N种方式总结
Sep 17 Python
python中二维阵列的变换实例
Oct 09 Python
深入学习Python中的装饰器使用
Jun 20 Python
Python中的 enum 模块源码详析
Jan 09 Python
Python弹出输入框并获取输入值的实例
Jun 18 Python
python aiohttp的使用详解
Jun 20 Python
python使用flask与js进行前后台交互的例子
Jul 19 Python
python3实现mysql导出excel的方法
Jul 31 Python
Python实现基于socket的udp传输与接收功能详解
Nov 15 Python
pandas中ix的使用详细讲解
Mar 09 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
Oct 14 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
Tensorflow中使用tfrecord方式读取数据的方法
Jun 19 #Python
python3实现SMTP发送邮件详细教程
Jun 19 #Python
You might like
PHP的一个完整SMTP类(解决邮件服务器需要验证时的问题)
2006/10/09 PHP
PHP脚本的10个技巧(2)
2006/10/09 PHP
PHP中call_user_func_array()函数的用法演示
2012/02/05 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
2016/11/14 PHP
PHP基于XMLWriter操作xml的方法分析
2017/07/17 PHP
javascript 学习笔记(六)浏览器类型及版本信息检测代码
2011/04/08 Javascript
javascript垃圾收集机制与内存泄漏详细解析
2013/11/11 Javascript
Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式
2014/06/24 Javascript
JavaScript中操作Mysql数据库实例
2015/04/02 Javascript
JavaScript仿静态分页实现方法
2015/08/04 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
全面解析Bootstrap布局组件应用
2016/02/22 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
详解vue项目优化之按需加载组件-使用webpack require.ensure
2017/06/13 Javascript
vue2.0 下拉框默认标题设置方法
2018/08/22 Javascript
Element ui 下拉多选时新增一个选择所有的选项
2019/08/21 Javascript
javascript中的相等操作符(==与===区别)
2019/12/21 Javascript
[03:55]显微镜下的DOTA2特别篇——430灰烬之灵神级操作
2014/06/24 DOTA
[02:15]2014DOTA2国际邀请赛 专访LGD.lin小兔子是大腿
2014/07/14 DOTA
[02:05:03]完美世界DOTA2联赛循环赛 LBZS VS Matador BO2 10.28
2020/10/28 DOTA
Python多线程编程(八):使用Event实现线程间通信
2015/04/05 Python
python类继承用法实例分析
2015/05/27 Python
神经网络相关之基础概念的讲解
2018/12/29 Python
Python+OpenCV图片局部区域像素值处理详解
2019/01/23 Python
Python实现K折交叉验证法的方法步骤
2019/07/11 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
2020/02/11 Python
如何利用python读取micaps文件详解
2020/10/18 Python
20佳惊艳的HTML5应用程序示例分享
2011/05/03 HTML / CSS
美国优质宠物用品购买网站:Muttropolis
2020/02/17 全球购物
求两个数的乘积和商数,该作用由宏定义来实现
2013/03/13 面试题
教育技术学专业职业规划书
2014/03/03 职场文书
个人授权委托书
2014/09/15 职场文书
2014保险公司个人工作总结
2014/12/09 职场文书
sql字段解析器的实现示例
2021/06/23 SQL Server
原生JS实现分页
2022/04/19 Javascript
如何开启Apache,Nginx和IIS服务器的GZIP压缩功能
2022/04/29 Servers