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 相关文章推荐
Python 元类使用说明
Dec 18 Python
python脚本实现查找webshell的方法
Jul 31 Python
python解析html提取数据,并生成word文档实例解析
Jan 22 Python
TensorFlow实现卷积神经网络
May 24 Python
使用PyCharm创建Django项目及基本配置详解
Oct 24 Python
Django添加KindEditor富文本编辑器的使用
Oct 24 Python
对python中list的拷贝与numpy的array的拷贝详解
Jan 29 Python
python3 enum模块的应用实例详解
Aug 12 Python
Python从入门到精通之环境搭建教程图解
Sep 26 Python
关于Python3 lambda函数的深入浅出
Nov 27 Python
Python基于Webhook实现github自动化部署
Nov 28 Python
python中Pyqt5使用Qlabel标签播放视频
Apr 22 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根据IP地址获取所在城市具体实现
2013/11/27 PHP
php获取文件大小的方法
2014/02/26 PHP
php获取从html表单传递数组的方法
2015/03/20 PHP
php原生导出excel文件的两种方法(推荐)
2016/11/19 PHP
jquery实现带复选框的表格行选中删除时高亮显示
2013/08/01 Javascript
JS.findElementById()使用介绍
2013/09/21 Javascript
JavaScript每天必学之事件
2016/09/18 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
jQuery插件zTree实现更新根节点中第i个节点名称的方法示例
2017/03/08 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
聊聊JavaScript如何实现继承及特点
2017/04/07 Javascript
js编写选项卡效果
2017/05/23 Javascript
详解vue-cli + webpack 多页面实例配置优化方法
2017/07/13 Javascript
Vue 兄弟组件通信的方法(不使用Vuex)
2017/10/26 Javascript
详解node字体压缩插件font-spider的用法
2018/09/28 Javascript
优雅的将ElementUI表格变身成树形表格的方法步骤
2019/04/11 Javascript
详解JavaScript中的坐标和距离
2019/05/27 Javascript
通过JQuery,JQueryUI和Jsplumb实现拖拽模块
2019/06/18 jQuery
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
js中调用微信的扫描二维码功能的实现代码
2020/04/11 Javascript
VUE-ElementUI 自定义Loading图操作
2020/11/11 Javascript
python实现批量修改文件名代码
2017/09/10 Python
Python smtplib实现发送邮件功能
2018/05/22 Python
python 解压pkl文件的方法
2018/10/25 Python
对python的unittest架构公共参数token提取方法详解
2018/12/17 Python
解决安装pycharm后不能执行python脚本的问题
2019/01/19 Python
python 解决mysql where in 对列表(list,,array)问题
2020/06/06 Python
HTML5轻松实现全屏视频背景的示例
2018/04/23 HTML / CSS
Cocopanda波兰:购买化妆品、护肤品、护发和香水
2020/05/25 全球购物
会计实习期自我鉴定
2013/10/06 职场文书
土木工程应届生求职信
2013/10/31 职场文书
青春无悔演讲稿
2014/05/08 职场文书
经理助理岗位职责
2015/02/02 职场文书
2015年七一建党节演讲稿
2015/03/19 职场文书
检讨书格式
2019/04/25 职场文书
利用Python第三方库实现预测NBA比赛结果
2021/06/21 Python