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网络爬虫出现乱码问题的解决方法
Jan 05 Python
Django项目中model的数据处理以及页面交互方法
May 30 Python
python中的字符串内部换行方法
Jul 19 Python
python 实现A*算法的示例代码
Aug 13 Python
python一键去抖音视频水印工具
Sep 14 Python
对python的unittest架构公共参数token提取方法详解
Dec 17 Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
Jul 11 Python
python+selenium select下拉选择框定位处理方法
Aug 24 Python
pytorch多GPU并行运算的实现
Sep 27 Python
Pycharm和Idea支持的vim插件的方法
Feb 21 Python
vue常用指令代码实例总结
Mar 16 Python
Python使用Turtle模块绘制国旗的方法示例
Feb 28 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
德生S2000电路分析
2021/03/02 无线电
php高级编程-函数-郑阿奇
2011/07/04 PHP
php+ajax实时输入自动搜索匹配的方法
2014/12/26 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
php封装的smarty类完整实例
2016/10/19 PHP
详谈php ip2long 出现负数的原因及解决方法
2017/04/05 PHP
获取页面高度,窗口高度,滚动条高度等参数值getPageSize,getPageScroll
2006/09/22 Javascript
javascript 简练的几个函数
2009/08/29 Javascript
Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
2010/07/11 Javascript
jquery里的正则表达式说明
2011/08/03 Javascript
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
javascript的数据类型、字面量、变量介绍
2012/05/23 Javascript
js 获取和设置css3 属性值的实现方法
2013/05/06 Javascript
jquery遍历之parent()和parents()的区别及parentsUntil()方法详解
2013/12/02 Javascript
jquery中checkbox全选失效的解决方法
2014/12/26 Javascript
jQuery手机浏览器中拖拽动作的艰难性分析
2015/02/04 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
2015/09/19 Javascript
深入浅析NodeJs并发异步的回调处理
2015/12/21 NodeJs
JavaScript性能优化总结之加载与执行
2016/08/11 Javascript
selenium 与 chrome 进行qq登录并发邮件操作实例详解
2017/04/06 Javascript
JS实现禁止高频率连续点击的方法【基于ES6语法】
2017/04/25 Javascript
jquery实现用户登陆界面(示例讲解)
2017/09/06 jQuery
详释JavaScript执行环境与执行栈
2019/04/02 Javascript
JS 逻辑判断不要只知道用 if-else 和 switch条件判断(小技巧)
2020/05/27 Javascript
在vscode 中设置 vue模板内容的方法
2020/09/02 Javascript
关于ES6尾调用优化的使用
2020/09/11 Javascript
Python 基础教程之str和repr的详解
2017/08/20 Python
浅谈python多进程共享变量Value的使用tips
2019/07/16 Python
520使用Python实现“我爱你”表白
2020/05/20 Python
Python操作dict时避免出现KeyError的几种解决方法
2020/09/20 Python
2014年入党积极分子党课学习心得体会模板
2014/04/03 职场文书
代办委托书怎么写
2014/08/01 职场文书
新农村建设汇报材料
2014/08/15 职场文书
幼儿园中班教师个人总结
2015/02/05 职场文书
小学四年级作文之最感动的一件事
2019/11/01 职场文书
python某漫画app逆向
2021/03/31 Python