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 logging类库使用例子
Nov 22 Python
Python的for和break循环结构中使用else语句的技巧
May 24 Python
深入浅析python继承问题
May 29 Python
详细分析python3的reduce函数
Dec 05 Python
Python+OpenCV人脸检测原理及示例详解
Oct 19 Python
详解Django-auth-ldap 配置方法
Dec 10 Python
python使用原始套接字发送二层包(链路层帧)的方法
Jul 22 Python
python将邻接矩阵输出成图的实现
Nov 21 Python
Django框架中间件定义与使用方法案例分析
Nov 28 Python
Python线程协作threading.Condition实现过程解析
Mar 12 Python
浅析python 通⽤爬⾍和聚焦爬⾍
Sep 28 Python
总结Python连接CS2000的详细步骤
Jun 23 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
长波知识介绍
2021/03/01 无线电
配置支持SSI
2006/11/25 PHP
PHP源代码数组统计count分析
2011/08/02 PHP
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
2011/10/08 PHP
Z-Blog中用到的js代码
2007/03/15 Javascript
javascript自执行函数之伪命名空间封装法
2010/12/25 Javascript
js工具方法弹出蒙版
2013/05/08 Javascript
左侧是表头的JS表格控件(自写,网上没有的)
2013/06/04 Javascript
js弹出层包含flash 不能关闭隐藏的2种处理方法
2013/06/17 Javascript
javascript函数作用域学习示例(js作用域)
2014/01/13 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
2015/06/01 Javascript
用JavaScript实现对话框的教程
2015/06/04 Javascript
开启Javascript中apply、call、bind的用法之旅模式
2015/10/28 Javascript
Angularjs 创建可复用组件实例代码
2016/10/09 Javascript
Angular的$http与$location
2016/12/26 Javascript
基于Angular.js实现的触摸滑动动画实例代码
2017/02/19 Javascript
详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
2017/05/02 Javascript
JS 设置Cookie 有效期 检测cookie
2017/06/15 Javascript
JavaScript面向对象程序设计创建对象的方法分析
2018/08/13 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
基于Vue的侧边目录组件的实现
2020/02/05 Javascript
为什么JavaScript中0.1 + 0.2 != 0.3
2020/12/03 Javascript
python 域名分析工具实现代码
2009/07/15 Python
Python if语句知识点用法总结
2018/06/10 Python
python pillow模块使用方法详解
2019/08/30 Python
Python3将数据保存为txt文件的方法
2019/09/12 Python
详解python常用命令行选项与环境变量
2020/02/20 Python
python selenium自动化测试框架搭建的方法步骤
2020/06/14 Python
django列表筛选功能的实现代码
2020/03/27 Python
django实现将修改好的新模型写入数据库
2020/03/31 Python
销售文员的岗位职责
2013/11/20 职场文书
一份创业计划书范文
2014/02/08 职场文书
小学生中国梦演讲稿
2014/04/23 职场文书
验房委托书
2014/08/30 职场文书
无房产证房屋转让协议书合同样本
2014/10/18 职场文书
集英社今正式宣布 成立游戏公司“集英社Games”
2022/03/31 其他游戏