浅谈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实现bitmap数据结构详解
Feb 17 Python
pycharm 使用心得(七)一些实用功能介绍
Jun 06 Python
Python中optionParser模块的使用方法实例教程
Aug 29 Python
python实现用户登陆邮件通知的方法
Jul 09 Python
Python常见加密模块用法分析【MD5,sha,crypt模块】
May 24 Python
python timestamp和datetime之间转换详解
Dec 11 Python
python3爬取淘宝信息代码分析
Feb 10 Python
用Python实现大文本文件切割的方法
Jan 12 Python
Python Pillow Image Invert
Jan 22 Python
Python3.5局部变量与全局变量作用域实例分析
Apr 30 Python
PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
Apr 03 Python
Python 读取千万级数据自动写入 MySQL 数据库
Jun 28 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
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
2008/05/26 PHP
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
2010/07/04 PHP
php将会员数据导入到ucenter的代码
2010/07/18 PHP
PHP性能优化准备篇图解PEAR安装
2011/12/05 PHP
php ckeditor上传图片文件名乱码解决方法
2013/11/15 PHP
div+css布局的图片连续滚动js实现代码
2010/05/04 Javascript
jquery的相对父元素和相对文档定位示例代码
2013/08/02 Javascript
Javascript获取当前时间函数和时间操作小结
2014/10/01 Javascript
JavaScript列表框listbox全选和反选的实现方法
2015/03/18 Javascript
JS实现控制表格行文本对齐的方法
2015/03/30 Javascript
如何防止JavaScript自动插入分号
2015/11/05 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
2017/01/16 Javascript
axios学习教程全攻略
2017/03/26 Javascript
vue iView 上传组件之手动上传功能
2018/03/16 Javascript
解决JavaScript layui 下拉框不显示的问题
2018/08/14 Javascript
vue 添加和编辑用同一个表单,el-form表单提交后清空表单数据操作
2020/08/03 Javascript
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
[58:15]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 NB vs Liquid
2018/04/02 DOTA
Python实时获取cmd的输出
2015/12/13 Python
使用Python进行二进制文件读写的简单方法(推荐)
2016/09/12 Python
Python简单读写Xls格式文档的方法示例
2018/08/17 Python
python pcm音频添加头转成Wav格式文件的方法
2019/01/09 Python
Python opencv实现人眼/人脸识别以及实时打码处理
2019/04/29 Python
python将字符串list写入excel和txt的实例
2019/07/20 Python
详解numpy矩阵的创建与数据类型
2019/10/18 Python
pytorch实现保证每次运行使用的随机数都相同
2020/02/20 Python
python获得命令行输入的参数的两种方式
2020/11/02 Python
python爬虫使用scrapy注意事项
2020/11/23 Python
美国校服网上商店:French Toast
2019/10/08 全球购物
C/C++有关内存的思考题
2015/12/04 面试题
好的自荐信的要求
2013/10/30 职场文书
公务员群众路线心得体会
2014/11/03 职场文书
追悼会答谢词范文
2015/09/29 职场文书
mongodb的安装和开机自启动详细讲解
2021/08/02 MongoDB
详解Nginx 被动检查服务器的存活状态
2021/10/16 Servers
Python自动化实战之接口请求的实现
2022/05/30 Python