浅谈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实现文件名批量替换和内容替换
Mar 20 Python
python单线程实现多个定时器示例
Mar 30 Python
Python中解析JSON并同时进行自定义编码处理实例
Feb 08 Python
Python脚本实现Web漏洞扫描工具
Oct 25 Python
Python算法应用实战之队列详解
Feb 04 Python
python 计算两个日期相差多少个月实例代码
May 24 Python
关于python2 csv写入空白行的问题
Jun 22 Python
Python嵌套式数据结构实例浅析
Mar 05 Python
python定间隔取点(np.linspace)的实现
Nov 27 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
May 03 Python
深入浅析Python代码规范性检测
Jul 31 Python
Python Merge函数原理及用法解析
Sep 16 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
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
2010/03/15 PHP
php笔记之:php数组相关函数的使用
2013/04/26 PHP
CodeIgniter与PHP5.6的兼容问题
2015/07/16 PHP
javascript 网页跳转的方法
2008/12/24 Javascript
Jquery 数组操作大全个人总结
2013/11/13 Javascript
JQuery弹出层示例可自定义
2014/05/19 Javascript
原生javascript实现拖动元素示例代码
2014/09/01 Javascript
javascript实现避免页面按钮重复提交
2015/01/08 Javascript
基于jquery实现的自动补全功能
2015/03/12 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
Node.js实现文件上传
2016/07/05 Javascript
JS中用childNodes获取子元素换行会产生一个子元素
2016/12/08 Javascript
JS轮播图中缓动函数的封装
2020/11/25 Javascript
详解vue父子模版嵌套案例
2017/03/04 Javascript
简单谈谈vue的过渡动画(推荐)
2017/10/11 Javascript
详解解决Vue相同路由参数不同不会刷新的问题
2018/10/12 Javascript
详解Element 指令clickoutside源码分析
2019/02/15 Javascript
使用node搭建自动发图文微博机器人的方法
2019/03/22 Javascript
详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)
2020/07/11 Javascript
Flexible.js可伸缩布局实现方法详解
2020/11/13 Javascript
vue常用高阶函数及综合实例
2021/02/25 Vue.js
[18:32]DOTA2 HEROS教学视频教你分分钟做大人-谜团
2014/06/12 DOTA
[52:44]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第一场 6.3
2018/06/04 DOTA
基于Python中capitalize()与title()的区别详解
2017/12/09 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
Python3常用内置方法代码实例
2019/11/18 Python
如何使用css3实现一个类在线直播的队列动画的示例代码
2020/06/17 HTML / CSS
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
P/Invoke是什么
2015/07/31 面试题
小学生我的梦想演讲稿
2014/08/21 职场文书
电气工程师岗位职责
2015/02/12 职场文书
教师工作能力自我评价
2015/03/04 职场文书
2014年个人总结范文
2015/03/09 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
李强为自己工作观后感
2015/06/11 职场文书
单位车辆管理制度
2015/08/05 职场文书