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随手笔记第一篇(2)之初识列表和元组
Jan 23 Python
简单谈谈Python流程控制语句
Dec 04 Python
Python实现的井字棋(Tic Tac Toe)游戏示例
Jan 31 Python
python3 kmp 字符串匹配的方法
Jul 07 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
Feb 01 Python
django foreignkey(外键)的实现
Jul 29 Python
Python Subprocess模块原理及实例
Aug 26 Python
Python内置方法实现字符串的秘钥加解密(推荐)
Dec 09 Python
通过实例解析Python调用json模块
Dec 11 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
Mar 13 Python
完美解决jupyter由于无法import新包的问题
May 26 Python
Python jieba结巴分词原理及用法解析
Nov 05 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邮件类
2007/01/03 PHP
PHP中计算字符串相似度的函数代码
2012/12/29 PHP
PHP中source #N问题的解决方法
2014/01/27 PHP
php单例模式实现方法分析
2015/03/14 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
2016/05/26 PHP
PHP编写的图片验证码类文件分享
2016/06/06 PHP
PHP 断点续传实例详解
2017/11/11 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
2020/04/13 PHP
动态加载js文件 document.createElement
2006/10/14 Javascript
document.createElement()用法及注意事项(ff下不兼容)
2013/03/13 Javascript
jquery重新播放css动画所遇问题解决
2013/08/21 Javascript
js操纵dom生成下拉列表框的方法
2014/02/24 Javascript
AngularJS中的Directive实现延迟加载
2016/01/25 Javascript
Bootstrap Search Suggest使用例子
2016/12/21 Javascript
移动端触摸滑动插件swiper使用方法详解
2017/08/11 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
2018/03/21 Javascript
对angular4子路由&辅助路由详解
2018/10/09 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
vue中js判断长时间不操作界面自动退出登录(推荐)
2020/01/22 Javascript
Node使用koa2实现一个简单JWT鉴权的方法
2021/01/26 Javascript
python实现聚类算法原理
2018/02/12 Python
如何利用Anaconda配置简单的Python环境
2019/06/24 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
python绘图模块之利用turtle画图
2021/02/12 Python
html5使用canvas画空心圆与实心圆
2014/12/15 HTML / CSS
TripAdvisor德国:全球领先的旅游网站
2017/12/07 全球购物
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
最新自我评价范文
2013/11/16 职场文书
土建专业大学生自荐信范文
2014/04/09 职场文书
反邪教标语
2014/06/23 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
刑事附带民事起诉状
2015/05/19 职场文书
2015年信息中心工作总结
2015/05/25 职场文书
创新创业项目计划书该怎样写?
2019/08/13 职场文书
HAM-2000摩机图
2021/04/22 无线电
js中Object.create实例用法详解
2021/10/05 Javascript