浅谈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中输出ASCII大文字、艺术字、字符字小技巧
Apr 28 Python
在Django中同时使用多个配置文件的方法
Jul 22 Python
Python 的描述符 descriptor详解
Feb 27 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
Feb 16 Python
python线程池threadpool实现篇
Apr 27 Python
python list是否包含另一个list所有元素的实例
May 04 Python
深入理解Python异常处理的哲学
Feb 01 Python
django搭建项目配置环境和创建表过程详解
Jul 22 Python
基于python3 的百度图片下载器的实现代码
Nov 05 Python
关于pytorch中全连接神经网络搭建两种模式详解
Jan 14 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
Mar 09 Python
python 穷举指定长度的密码例子
Apr 02 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 is_null、empty、isset的区别
2015/07/07 PHP
Prototype Class对象学习
2009/07/19 Javascript
input的focus方法使用
2010/03/13 Javascript
兼容IE和FF的图片上传前预览js代码
2013/05/28 Javascript
javascript打印输出json实例
2013/11/11 Javascript
分享一个常用的javascript静态类
2014/12/31 Javascript
JQuery标签页效果实例详解
2015/12/24 Javascript
JS触发服务器控件的单击事件(详解)
2016/08/06 Javascript
原生JS轮播图插件
2017/02/09 Javascript
Angular1.x自定义指令实例详解
2017/03/01 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
vue服务端渲染的实例代码
2017/08/28 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
2017/09/10 Javascript
基于Bootstrap框架菜鸟入门教程(推荐)
2017/09/17 Javascript
vue实现前进刷新后退不刷新效果
2018/01/26 Javascript
15个顶级开源JavaScript框架和库
2018/10/10 Javascript
vue-cli3环境变量与分环境打包的方法示例
2019/02/18 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
2020/05/09 Javascript
Javascript实现贪吃蛇小游戏(含详细注释)
2020/10/23 Javascript
[41:56]Spirit vs Liquid Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
Python3实现的字典、列表和json对象互转功能示例
2018/05/22 Python
将pandas.dataframe的数据写入到文件中的方法
2018/12/07 Python
Python3离线安装Requests模块问题
2019/10/13 Python
Python argparse模块应用实例解析
2019/11/15 Python
matplotlib绘制多个子图(subplot)的方法
2019/12/03 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
python和js交互调用的方法
2020/06/23 Python
详解Python中Pyyaml模块的使用
2020/10/08 Python
利用python+request通过接口实现人员通行记录上传功能
2021/01/13 Python
html5开发之viewport使用
2013/10/17 HTML / CSS
Book Depository澳大利亚:世界领先的专业在线书店之一
2018/12/27 全球购物
什么是重载?CTS、CLS和CLR分别做何解释
2012/05/06 面试题
高考励志标语
2014/06/05 职场文书
2014年度思想工作总结
2014/11/27 职场文书
机动车交通事故协议书
2015/01/29 职场文书
Vue中使用import进行路由懒加载的原理分析
2022/04/01 Vue.js