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

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

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

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

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

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

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

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

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

#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利用QQ邮箱发送邮件的实现方法(分享)
  • Python实现给qq邮箱发送邮件的方法
  • Python使用QQ邮箱发送Email的方法实例
  • python3利用smtplib通过qq邮箱发送邮件方法示例
  • python实现发送邮件功能
(0)

相关推荐

  • Python实现给qq邮箱发送邮件的方法

    本文实例讲述了Python实现给qq邮箱发送邮件的方法.分享给大家供大家参考.具体实现方法如下: #-*-coding:utf-8-*- #========================================== # 导入smtplib和MIMEText #========================================== from email.mime.text import MIMEText import smtplib #===================

  • python实现发送邮件功能

    本文实例为大家分享了python实现发送邮件功能的具体代码,供大家参考,具体内容如下 依赖: Python代码实现发送邮件,使用的模块是smtplib.MIMEText,实现代码之前需要导入包: import smtplib from email.mime.text import MIMEText 使用163邮件发送邮件,具体代码实现如下: import smtplib from email.mime.text import MIMEText ''' 发送邮件函数,默认使用163smtp :pa

  • Python利用QQ邮箱发送邮件的实现方法(分享)

    废话不多说,直接上代码 Python2.7 #!/usr/bin/env python2.7 # -*- coding=utf-8 -*- import smtplib from email.mime.text import MIMEText _user = "648613081@qq.com" _pwd = "这里改成你的授权码" _to = "648613081@qq.com" msg = MIMEText("this is a e

  • Python使用QQ邮箱发送Email的方法实例

    前言 其实Python使用QQ邮箱发送Email代码很简单,短短几行代码就可以实现这个功能. 使用到的模块有smtplib和email这个两个模块,关于这两个模块的方法就不多说了.不了解的朋友们可以查看这篇文章:python中使用smtplib和email模块发送邮件实例 我们先说说网上常用的使用这那两个模块发送邮件的方法 代码如下: import smtplib from email.mime.text import MIMEText from email.header import Head

  • python3利用smtplib通过qq邮箱发送邮件方法示例

    前言 本文主要给大家介绍了关于python3 smtplib通过qq邮箱发送邮件的相关内容, smtplib模块是smtp简单邮件传输协议客户端的实现,为了通用性,有时候发送邮件的时候要带附件或图片,用email.mime来装载内容. 详细代码参考说明:Python3 SMTP发送邮件 0.了解qq邮箱的SMTP QQ邮箱 POP3 和 SMTP 服务器地址设置如下: 邮箱 POP3服务器(端口995) SMTP服务器(端口465或587) qq.com pop.qq.com smtp.qq.c

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

    QQ邮箱最新推出了一个授权码,需已验证的手机号向QQ邮箱服务器发送一条短信获得.该授权码用于第三方客户端登录,代替了第三方登录时使用的个人邮箱密码. 在测试过程中遇到两个问题: 1.提示需建立SSL安全连接.于是将smtplib.SMTP() 改成了smtplib.SMTP_SSL() 2.运行代码后,程序一直运行,但没有任何反应,等了五分钟左右,最后只好ctrl+c停止.查原因才知道,QQ邮箱的SMTP服务端口不是默认的25.改为465之后就好了. (使用标准的25端口连接SMTP服务器时,使

  • Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError

    最新在学习Python的基础入门系列课程,今天学习到使用python 的内置库smtplib发送邮件内容. 使用Python发送邮件步骤简单: 创建SMTP连接 使用邮箱和密码登录SMTP服务器 创建邮件内容对象EmailMessage, 并使用set_content方法设置邮件内容 调用sendmail方法发送邮件 具体代码如下: import smtplib from email.message import EmailMessage # 定义SMTP邮件服务器地址 smtp_server

  • Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解

    直接上代码实例:  #!/usr/bin/python3 import smtplib from email.mime.text import MIMEText from email.utils import formataddr my_sender='1638245306@qq.com' # 发件人邮箱账号 my_pass = 'xxxxxx' # 发件人邮箱密码(注意这个密码不是QQ邮箱的密码,是在QQ邮箱的SMTP中生成的授权码) my_user='1638245306@qq.com' #

  • python实现QQ邮箱发送邮件

    本文实例为大家分享了python实现QQ邮箱发送邮件的具体代码,供大家参考,具体内容如下 1.代码: #!/usr/bin/python # -*- coding: utf-8 -*- import smtplib from email.mime.text import MIMEText from email.header import Header mail_host="smtp.qq.com"#设置的邮件服务器host必须是发送邮箱的服务器,与接收邮箱无关. mail_user=&

  • 浅谈python 调用open()打开文件时路径出错的原因

    昨晚搞鼓了一下python的open()打开文件 代码如下 def main(): infile =open("C:\Users\Spirit\Desktop\bc.txt",'r') data = infile.read() print(data) main() 然而结果总报错invaild argument 或者cant found such file *** 查找问题后 发现是由于python中的 '\' 是转义符号,要想输出\ 的办法有两种 1 .在\后再加\ 就是\\ 的形式

  • python学习--使用QQ邮箱发送邮件代码实例

    服务器计算数据有时需要大量的时间,使用程序发送一封邮件是一种免费便捷的通知方式,可以让我们及时收到程序中断或者程序运行完成的信息,而不用一直盯着屏幕看.以下以python为例写一个邮件发送程序: import smtplib from email.mime.text import MIMEText from email.header import Header class Mail(object): def __init__(self,user,token): self.host = "smtp

  • python利用smtplib实现QQ邮箱发送邮件

    python的smtplib提供了一种很方便的途径发送电子邮件.它对smtp协议进行了简单的封装. 下面是一个利用smtplib,实现QQ邮箱发送邮件的例子. 首先必须要打开QQ邮箱的smtp服务,在QQ邮箱个人主页的  设置-账户 中开启.如图: 成功开启后点击生成授权码 ,得到的密码为smtp发送邮件时的登录密码. 一个发送邮件的简单实例: from smtplib import SMTP_SSL from email.mime.text import MIMEText from email

  • 浅谈Python采集网页时正则表达式匹配换行符的问题

    如下所示: p1 = r'(?<=<div class="ds_cr">)(.*?)(?=<div id="pageurl">)' #这样采集html时出错,采集不到数据,正则中 . 是不能匹配换行符,改成如下: p1 = r'(?<=<div class="ds_cr">)([\s\S]*?)(?=<div id="pageurl">)' # 这是我们写的正则表达式

随机推荐