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中用datetime包进行对时间的一些操作
Jun 23 Python
理解python中生成器用法
Dec 20 Python
Django自定义过滤器定义与用法示例
Mar 22 Python
对numpy中的where方法嵌套使用详解
Oct 31 Python
python使用Plotly绘图工具绘制气泡图
Apr 01 Python
numpy.linspace函数具体使用详解
May 27 Python
ML神器:sklearn的快速使用及入门
Jul 11 Python
pandas通过字典生成dataframe的方法步骤
Jul 23 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
Jan 07 Python
深入理解Tensorflow中的masking和padding
Feb 24 Python
Python dict和defaultdict使用实例解析
Mar 12 Python
Spy++的使用方法及下载教程
Jan 29 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新手NOTICE错误常见解决方法
2011/12/07 PHP
PHP制作万年历
2015/01/07 PHP
php中使用sftp教程
2015/03/30 PHP
PHP MYSQL实现登陆和模糊查询两大功能
2016/02/05 PHP
mac系统下安装多个php并自由切换的方法详解
2017/04/21 PHP
PHP常用字符串函数小结(推荐)
2018/08/05 PHP
js 获取计算后的样式写法及注意事项
2013/02/25 Javascript
js与运算符和或运算符的妙用
2014/02/14 Javascript
javascript数字时钟示例分享
2014/04/23 Javascript
实现网页页面跳转的几种方法(meta标签、js实现、php实现)
2014/05/20 Javascript
window.location.hash知识汇总
2015/11/09 Javascript
jqPlot jQuery绘图插件的使用
2016/06/18 Javascript
详解在Angular4中使用ng2-baidu-map的方法
2019/06/19 Javascript
JS中的算法与数据结构之常见排序(Sort)算法详解
2019/08/16 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
[02:44]DOTA2英雄基础教程 克林克兹
2014/01/15 DOTA
Python中实现远程调用(RPC、RMI)简单例子
2014/04/28 Python
用PyQt进行Python图形界面的程序的开发的入门指引
2015/04/14 Python
python strip() 函数和 split() 函数的详解及实例
2017/02/03 Python
python中异常捕获方法详解
2017/03/03 Python
Python OpenCV处理图像之图像像素点操作
2018/07/10 Python
Python抽象和自定义类定义与用法示例
2018/08/23 Python
Python使用matplotlib绘制三维图形示例
2018/08/25 Python
python内置数据类型之列表操作
2018/11/12 Python
Python实现八皇后问题示例代码
2018/12/09 Python
kafka-python批量发送数据的实例
2018/12/27 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
2019/01/23 Python
使用Python调取任意数字资产钱包余额功能
2019/08/15 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
2020/05/28 Python
python如何进行矩阵运算
2020/06/05 Python
移动端开发HTML5页面点击按钮后出现闪烁或黑色背景的解决办法
2018/09/19 HTML / CSS
详解使用postMessage解决iframe跨域通信问题
2019/11/01 HTML / CSS
查环查孕证明
2014/01/10 职场文书
优秀班集体获奖感言
2014/02/03 职场文书
政审证明范文
2015/06/19 职场文书
java如何实现socket连接方法封装
2021/09/25 Java/Android