浅谈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 27 Python
Python远程桌面协议RDPY安装使用介绍
Apr 15 Python
python类和函数中使用静态变量的方法
May 09 Python
Python之Scrapy爬虫框架安装及使用详解
Nov 16 Python
TensorFlow中权重的随机初始化的方法
Feb 11 Python
Flask框架配置与调试操作示例
Jul 23 Python
对python读取CT医学图像的实例详解
Jan 24 Python
Python面向对象之类和实例用法分析
Jun 08 Python
Python3 shelve对象持久存储原理详解
Mar 23 Python
python学生管理系统的实现
Apr 05 Python
Python如何将函数值赋给变量
Apr 28 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
May 07 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
使用sockets:从新闻组中获取文章(一)
2006/10/09 PHP
PHP 布尔值的自增与自减的实现方法
2018/05/03 PHP
JS 控制CSS样式表
2009/08/20 Javascript
JavaScript Event学习第十章 一些可替换的事件对
2010/02/10 Javascript
Exjs 入门篇
2010/04/07 Javascript
JavaScript NaN和Infinity特殊值 [译]
2012/09/20 Javascript
jquery判断浏览器类型的代码
2012/11/05 Javascript
JS获取农历日期具体实例
2013/11/14 Javascript
javascript实现类似超链接的效果
2014/12/26 Javascript
JavaScript中pop()方法的使用教程
2015/06/09 Javascript
JavaScript实现算术平方根算法-代码超简单
2015/09/11 Javascript
Angular.js中数组操作的方法教程
2017/07/31 Javascript
Vuejs 页面的区域化与组件封装的实现
2017/09/11 Javascript
最后说说Vue2 SSR 的 Cookies 问题
2018/05/25 Javascript
vue如何安装使用Quill富文本编辑器
2018/09/21 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
2018/10/23 Javascript
JS函数本身的作用域实例分析
2020/03/16 Javascript
详解Webpack4多页应用打包方案
2020/07/16 Javascript
[01:25:33]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第二场 12.20
2020/12/23 DOTA
python机器学习实战之最近邻kNN分类器
2017/12/20 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
python的pip安装以及使用教程
2018/09/18 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
python 日期排序的实例代码
2019/07/11 Python
Python-openCV读RGB通道图实例
2020/01/17 Python
Python collections.deque双边队列原理详解
2020/10/05 Python
Numpy中的数组搜索中np.where方法详细介绍
2021/01/08 Python
HTML5实现一个能够移动的小坦克示例代码
2013/09/02 HTML / CSS
英国手机零售商:Carphone Warehouse
2018/06/06 全球购物
挖掘机司机岗位职责
2014/02/12 职场文书
英文演讲稿
2014/05/15 职场文书
捐款感谢信
2015/01/20 职场文书
领导新年致辞2016
2015/07/29 职场文书
创业计划书之小型广告公司
2019/10/22 职场文书
一次MySQL启动导致的事故实战记录
2021/09/15 MySQL
浅谈 JavaScript 沙箱Sandbox
2021/11/02 Javascript