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中for语句简单遍历数据的方法
May 07 Python
对python中的logger模块全面讲解
Apr 28 Python
Centos 升级到python3后pip 无法使用的解决方法
Jun 12 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
Jun 21 Python
利用python计算时间差(返回天数)
Sep 07 Python
Python pandas自定义函数的使用方法示例
Nov 20 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
Dec 02 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
Jan 18 Python
使用python的turtle函数绘制一个滑稽表情
Feb 28 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
May 13 Python
python boto和boto3操作bucket的示例
Oct 30 Python
python+pytest接口自动化之token关联登录的实现
Apr 06 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
PHPLog php 程序调试追踪工具
2009/09/09 PHP
php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
2010/03/23 PHP
php中用date函数获取当前时间有误的解决办法
2013/08/02 PHP
修改ThinkPHP缓存为Memcache的方法
2014/06/25 PHP
PHP反射原理与用法深入分析
2019/09/28 PHP
JavaScript读取中文cookie时的乱码问题的解决方法
2009/10/14 Javascript
JS在IE和FireFox之间常用函数的区别小结
2010/03/12 Javascript
加载jQuery后$冲突的解决办法
2010/07/09 Javascript
浅析Cookie中的Path与domain
2013/12/18 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
2016/08/01 Javascript
Jquery Easyui对话框组件Dialog使用详解(14)
2016/12/19 Javascript
javascript中apply/call和bind的使用
2017/02/15 Javascript
Vue组件化通讯的实例代码
2017/06/23 Javascript
微信小程序获取微信运动步数的实例代码
2017/07/20 Javascript
使用Angular CLI进行Build(构建)和Serve详解
2018/03/24 Javascript
vue中的v-if和v-show的区别详解
2019/09/01 Javascript
详解element-ui级联菜单(城市三级联动菜单)和回显问题
2019/10/02 Javascript
Python写的Discuz7.2版faq.php注入漏洞工具
2014/08/06 Python
在Python中字典根据多项规则排序的方法
2019/01/21 Python
在Python中居然可以定义两个同名通参数的函数
2019/01/31 Python
Python里字典的基本用法(包括嵌套字典)
2019/02/27 Python
Python任意字符串转16, 32, 64进制的方法
2019/06/12 Python
Python实现 PS 图像调整中的亮度调整
2019/06/28 Python
python rsa实现数据加密和解密、签名加密和验签功能
2019/09/18 Python
python模拟实现斗地主发牌
2020/01/07 Python
基于Pycharm加载多个项目过程图解
2020/01/19 Python
美国帽子俱乐部商店:Hat Club
2019/07/05 全球购物
KEEN美国官网:美国人气户外休闲鞋品牌
2021/03/09 全球购物
编程用JAVA解析XML的方式
2013/07/07 面试题
高中班长自我鉴定
2013/12/20 职场文书
会计电算化学生个人的自我评价
2014/02/08 职场文书
机关党总支领导班子整改方案
2014/09/20 职场文书
2016应届大学生自荐信模板
2016/01/28 职场文书
如何用Python搭建gRPC服务
2021/06/30 Python