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制作爬虫采集小说
Oct 25 Python
浅谈python中对于json写入txt文件的编码问题
Jun 07 Python
Python爬取商家联系电话以及各种数据的方法
Nov 10 Python
利用Python求阴影部分的面积实例代码
Dec 05 Python
由Python编写的MySQL管理工具代码实例
Apr 09 Python
python写程序统计词频的方法
Jul 29 Python
django创建最简单HTML页面跳转方法
Aug 16 Python
Python使用循环神经网络解决文本分类问题的方法详解
Jan 16 Python
python模拟点击网页按钮实现方法
Feb 25 Python
python连接mysql有哪些方法
Jun 24 Python
pytorch加载自己的图像数据集实例
Jul 07 Python
用python批量解压带密码的压缩包
May 31 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 syntax error, unexpected $end 错误的一种原因及解决
2008/10/25 PHP
PHP教程 变量定义
2009/10/23 PHP
Godaddy空间Zend Optimizer升级方法
2010/05/10 PHP
zf框架的registry(注册表)使用示例
2014/03/13 PHP
基于命令行执行带参数的php脚本并取得参数的方法
2016/01/25 PHP
php把时间戳转换成多少时间之前函数的实例
2016/11/16 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
2017/03/13 PHP
PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】
2017/06/21 PHP
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
2010/06/25 Javascript
JavaScript高级程序设计 学习笔记 js高级技巧
2011/09/20 Javascript
关于图片按比例自适应缩放的js代码
2011/10/30 Javascript
为jQuery添加Webkit的触摸的方法分享
2014/02/02 Javascript
Javascript控制div属性动态变化实例分析
2015/10/08 Javascript
基于jQuery实现搜索关键字自动匹配功能
2020/03/26 Javascript
jQuery通过写入cookie实现更换网页背景的方法
2016/04/15 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
2016/05/04 Javascript
JS面试题---关于算法台阶的问题
2016/07/26 Javascript
Vue.js更改调试地址端口号的实例
2018/09/19 Javascript
解决cordova+vue 项目打包成APK应用遇到的问题
2019/05/10 Javascript
详解将微信小程序接口Promise化并使用async函数
2019/08/05 Javascript
[01:27]DOTA2电竞之夜 今夜共饮庆功酒
2014/08/02 DOTA
python进阶教程之异常处理
2014/08/30 Python
Android应用开发中Action bar编写的入门教程
2016/02/26 Python
PyQt5每天必学之组合框
2018/04/20 Python
python redis连接 有序集合去重的代码
2019/08/04 Python
使用python 对验证码图片进行降噪处理
2019/12/18 Python
Python处理PDF与CDF实例
2020/02/26 Python
Django mysqlclient安装和使用详解
2020/09/17 Python
教师专业理论水平的自我评价分享
2013/11/09 职场文书
美发活动策划书
2014/01/14 职场文书
小区停车场管理制度
2014/01/27 职场文书
《假如》教学反思
2014/04/17 职场文书
三万活动总结
2014/04/28 职场文书
学校春季防火方案
2014/06/08 职场文书
咖啡厅商业计划书
2014/09/15 职场文书
违规违纪检讨书范文
2015/05/06 职场文书