浅谈Python用QQ邮箱发送邮件时授权码的问题


Posted in Python onJanuary 29, 2018

QQ邮箱最新推出了一个授权码,需已验证的手机号向QQ邮箱服务器发送一条短信获得。该授权码用于第三方客户端登录,代替了第三方登录时使用的个人邮箱密码。

在测试过程中遇到两个问题:

1.提示需建立SSL安全连接。于是将smtplib.SMTP() 改成了smtplib.SMTP_SSL()

2.运行代码后,程序一直运行,但没有任何反应,等了五分钟左右,最后只好ctrl+c停止。查原因才知道,QQ邮箱的SMTP服务端口不是默认的25.改为465之后就好了。

(使用标准的25端口连接SMTP服务器时,使用的是明文传输,发送邮件的整个过程可能会被窃听。要更安全地发送邮件,可以加密SMTP会话,实际上就是先创建SSL安全连接,然后再使用SMTP协议发送邮件。)

3.运行提示535错误,说授权error。才知道是那个授权码的原因。于是赶紧获取邮箱的授权码。

浅谈Python用QQ邮箱发送邮件时授权码的问题

3.运行提示535错误,说授权error。才知道是那个授权码的原因。于是赶紧获取邮箱的授权码。

浅谈Python用QQ邮箱发送邮件时授权码的问题

最后测试终于好了,代码如下:

#coding:utf-8
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 第三方 SMTP 服务
mail_host="smtp.qq.com" #设置服务器
mail_user="******@qq.com" #用户名
mail_pass="*********" #口令,QQ邮箱是输入授权码,在qq邮箱设置 里用验证过的手机发送短信获得,不含空格

sender = '******qq.com'
receivers = ['******@qq.com','****@sina.com.cn'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
message = MIMEText('a test for python', 'plain', 'utf-8')
message['From'] = Header("ppyy", 'utf-8')
message['To'] = Header("you", 'utf-8')
subject = 'my test'
message['Subject'] = Header(subject, 'utf-8')
try:
 smtpObj = smtplib.SMTP_SSL(mail_host, 465) 
 smtpObj.login(mail_user,mail_pass) 
 smtpObj.sendmail(sender, receivers, message.as_string())
 smtpObj.quit()
 print u"邮件发送成功"
except smtplib.SMTPException,e:
 print e

以上这篇浅谈Python用QQ邮箱发送邮件时授权码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
浅谈Python单向链表的实现
Dec 24 Python
Windows安装Python、pip、easy_install的方法
Mar 05 Python
Python实现通过文件路径获取文件hash值的方法
Apr 29 Python
python 设置文件编码格式的实现方法
Dec 21 Python
TensorFlow实现RNN循环神经网络
Feb 28 Python
windows下pycharm安装、创建文件、配置默认模板
Jul 31 Python
Python实现将多个空格换为一个空格.md的方法
Dec 20 Python
python实现桌面壁纸切换功能
Jan 21 Python
解决使用export_graphviz可视化树报错的问题
Aug 09 Python
python在不同条件下的输入与输出
Feb 13 Python
python suds访问webservice服务实现
Jun 26 Python
python使用布隆过滤器的实现示例
Aug 20 Python
Python实现识别手写数字 简易图片存储管理系统
Jan 29 #Python
详解Python自建logging模块
Jan 29 #Python
python抓取网页中链接的静态图片
Jan 29 #Python
Python实现识别手写数字 Python图片读入与处理
Mar 23 #Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
Jan 29 #Python
Python实现识别手写数字大纲
Jan 29 #Python
django文档学习之applications使用详解
Jan 29 #Python
You might like
第五节--克隆
2006/11/16 PHP
php empty函数判断mysql表单是否为空
2010/04/12 PHP
php里array_work用法实例分析
2015/07/13 PHP
PHP制作用户注册系统
2015/10/23 PHP
JavaScript 核心参考教程 内置对象
2009/10/13 Javascript
JS+CSS制作DIV层可(最小化/拖拽/排序)功能实现代码
2013/02/25 Javascript
js 获取计算后的样式写法及注意事项
2013/02/25 Javascript
js中function()使用方法
2013/12/24 Javascript
JS跨域请求外部服务器的资源
2017/02/06 Javascript
angularjs实现多张图片上传并预览功能
2017/02/24 Javascript
详解VueJs前后端分离跨域问题
2017/05/24 Javascript
AngularJS解决ng-if中的ng-model值无效的问题
2017/06/21 Javascript
详解使用React全家桶搭建一个后台管理系统
2017/11/04 Javascript
微信小程序倒计时功能实现代码
2017/11/09 Javascript
Bootstrap 中data-[*] 属性的整理
2018/03/13 Javascript
解决Mac安装thrift因bison报错的问题
2018/05/17 Javascript
解析vue、angular深度作用选择器
2019/09/11 Javascript
element-ui 文件上传修改文件名的方法示例
2019/11/05 Javascript
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
wxpython中利用线程防止假死的实现方法
2014/08/11 Python
python多线程方式执行多个bat代码
2016/06/07 Python
Python实现时间序列可视化的方法
2019/08/06 Python
python各类经纬度转换的实例代码
2019/08/08 Python
django删除表重建的实现方法
2019/08/28 Python
Python装饰器使用你可能不知道的几种姿势
2019/10/25 Python
matplotlib相关系统目录获取方式小结
2021/02/03 Python
基于html5实现的图片墙效果
2014/10/16 HTML / CSS
TripAdvisor印尼站:全球领先的旅游网站
2018/03/15 全球购物
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
人生遥控器观后感
2015/06/11 职场文书
趣味运动会广播稿
2015/08/19 职场文书
2016年万圣节活动个人总结
2016/04/05 职场文书
如何使用Python实现一个简易的ORM模型
2021/05/12 Python
基于PyTorch实现一个简单的CNN图像分类器
2021/05/29 Python
为什么MySQL选择Repeatable Read作为默认隔离级别
2021/07/26 MySQL
js前端图片加载异常兜底方案
2022/06/21 Javascript