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利用beautifulSoup实现爬虫
Sep 29 Python
在Django的URLconf中进行函数导入的方法
Jul 18 Python
浅谈Python浅拷贝、深拷贝及引用机制
Dec 15 Python
python生成ppt的方法
Jun 07 Python
Python实现的tcp端口检测操作示例
Jul 24 Python
Python 带有参数的装饰器实例代码详解
Dec 06 Python
python re正则匹配网页中图片url地址的方法
Dec 20 Python
Pandas透视表(pivot_table)详解
Jul 22 Python
python matplotlib库直方图绘制详解
Aug 10 Python
python pygame实现球球大作战
Nov 25 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
Mar 09 Python
Python利用PyPDF2库获取PDF文件总页码实例
Apr 03 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中session的实现原理以及大网站应用应注意的问题
2013/06/17 PHP
解析PHP生成静态html文件的三种方法
2013/06/18 PHP
使用 PHPStorm 开发 Laravel
2015/03/24 PHP
document.all还是document.getElementsByName?
2006/07/21 Javascript
jquery关于页面焦点的定位(文本框获取焦点时改变样式 )
2010/09/10 Javascript
在JavaScript中监听IME键盘输入事件
2011/05/29 Javascript
Javascript继承机制的设计思想分享
2011/08/28 Javascript
JavaScript 实现打印,打印预览,打印设置
2014/12/30 Javascript
JavaScript 表单处理实现代码
2015/04/13 Javascript
JS验证邮件地址格式方法小结
2015/12/01 Javascript
AngularJS 使用 UI Router 实现表单向导
2016/01/29 Javascript
js 获取元素所有兄弟节点的实现方法
2016/09/06 Javascript
vue.js+boostrap项目实践(案例详解)
2016/09/21 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
2017/05/22 Javascript
深入浅出理解JavaScript高级定时器原理与用法
2018/08/02 Javascript
layui 点击重置按钮, select 并没有被重置的解决方法
2019/09/03 Javascript
将Emacs打造成强大的Python代码编辑工具
2015/11/20 Python
详解如何用OpenCV + Python 实现人脸识别
2017/10/20 Python
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
Python OpenCV实现鼠标画框效果
2020/08/19 Python
tensorflow 实现自定义梯度反向传播代码
2020/02/10 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
基于Numba提高python运行效率过程解析
2020/03/02 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
Django中的模型类设计及展示示例详解
2020/05/29 Python
Anaconda详细安装步骤图文教程
2020/11/12 Python
html如何对span设置宽度
2019/10/30 HTML / CSS
Pedro官网:新加坡时尚品牌
2019/08/27 全球购物
财务总经理岗位职责
2014/02/16 职场文书
无刑事犯罪记录证明
2014/09/18 职场文书
交通事故协议书范本
2014/11/18 职场文书
教师个人成长总结
2015/02/11 职场文书
工作感想范文
2015/08/07 职场文书
《亲亲我的妈妈》观后感(3篇)
2019/09/26 职场文书
Pytorch反向传播中的细节-计算梯度时的默认累加操作
2021/06/05 Python
python生成可执行exe控制Microsip自动填写号码并拨打功能
2021/06/21 Python