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 相关文章推荐
使用相同的Apache实例来运行Django和Media文件
Jul 22 Python
利用Python循环(包括while&for)各种打印九九乘法表的实例
Nov 06 Python
python 自动重连wifi windows的方法
Dec 18 Python
python控制nao机器人身体动作实例详解
Apr 29 Python
python ChainMap 合并字典的实现步骤
Jun 11 Python
Python中生成一个指定长度的随机字符串实现示例
Nov 06 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
Feb 26 Python
Python抓包程序mitmproxy安装和使用过程图解
Mar 02 Python
django rest framework使用django-filter用法
Jul 15 Python
Python unittest discover批量执行代码实例
Sep 08 Python
python 制作网站小说下载器
Feb 20 Python
教你怎么用python selenium实现自动化测试
May 27 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分页显示制作详细讲解
2006/12/05 PHP
基于asp+ajax和数据库驱动的二级联动菜单
2010/05/06 PHP
phpize的深入理解
2013/06/03 PHP
使用php实现截取指定长度
2013/08/06 PHP
Yii实现文章列表置顶功能示例
2016/10/18 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
2020/04/26 PHP
Nigma vs AM BO3 第二场2.13
2021/03/10 DOTA
js禁止页面使用右键(简单示例代码)
2013/11/13 Javascript
FF IE浏览器修改标签透明度的方法
2014/01/27 Javascript
Javascript中typeof 用法小结
2015/05/12 Javascript
jQuery实现仿QQ在线客服效果的滚动层代码
2015/10/15 Javascript
简单介绍jsonp 使用小结
2016/01/27 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
2016/07/22 Javascript
js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
2016/12/02 Javascript
JS定时器实现数值从0到10来回变化
2016/12/09 Javascript
javascript中call,apply,bind函数用法示例
2016/12/19 Javascript
基于Node.js的WebSocket通信实现
2017/03/11 Javascript
Vue结合SignalR实现前后端实时消息同步
2017/09/19 Javascript
js与jQuery实现获取table中的数据并拼成json字符串操作示例
2018/07/12 jQuery
Layui 设置select下拉框自动选中某项的方法
2018/08/14 Javascript
[00:59]DOTA2英雄背景故事——上古巨神
2020/06/28 DOTA
一则python3的简单爬虫代码
2014/05/26 Python
一些Centos Python 生产环境的部署命令(推荐)
2018/05/07 Python
Pandas:DataFrame对象的基础操作方法
2018/06/07 Python
基于Python安装pyecharts所遇的问题及解决方法
2019/08/12 Python
Python爬虫实现模拟点击动态页面
2020/03/05 Python
python3.7+selenium模拟淘宝登录功能的实现
2020/05/26 Python
使用HTML5 IndexDB存储图像和文件的示例
2018/11/05 HTML / CSS
美国全球旅游运营商:Pacific Holidays
2018/06/18 全球购物
Kangol帽子官网:坎戈尔袋鼠
2018/09/26 全球购物
Nike瑞士官网:Nike CH
2021/01/18 全球购物
《二泉映月》教学反思
2014/04/15 职场文书
实习协议书
2015/01/27 职场文书
redis数据一致性的实现示例
2022/03/18 Redis
python小型的音频操作库mp3Play
2022/04/24 Python