python模拟登录qq邮箱
前两天做一个任务,要写一个收取qq邮箱邮件的脚本。开始认为挺简单,后来发现还是有一些坑在里面。
首先使用python尝试模拟登录qq邮箱,发现普通用户已经不能通过账号密码模拟登录qq邮箱了。要用到授权码。(具体查看qq邮箱账号设置)首先打开qq邮箱生成授权码,然后模拟登录中使用此授权码登录。
- 接收服务器:
pop.exmail.qq.com(使用SSL,端口号995)
发送服务器:
smtp.exmail.qq.com(使用SSL,端口号465)
这是企业邮箱。个人邮箱的话服务器地址没有exmail,并且个人邮箱需要用到授权码。
#!/usr/bin/python
# -*- coding:utf-8 -*-import poplib, pprint, email, sys, time, email, time, smtplib, imaplib
from datetime import datetime, timedelta, date
from email.mime.text import MIMEText
from email.header import Header
#设置命令窗口输出使用UTF-8编码
reload(sys)
sys.setdefaultencoding( "utf-8" )# 第三方 SMTP 服务 注意这是企业邮箱 如果是个人邮箱,密码要用授权码,服务器地址没有exmail
mail_smtp_host= "smtp.exmail.qq.com" # 设置smtp服务器
mail_pop_host= "pop.exmail.qq.com" # 设置pop服务器
mail_user= "" # 用户名
mail_pass= "" # 口令,QQ邮箱是输入授权码,在qq邮箱设置 里用验证过的手机发送短信获得,不含空格 '''
/*DISCRIPTION* Decoding charsert* ARGUMENTS* string need be Decodinged* RETURN* NOTES*/
'''
def Decoding(str):if(str[0][1] == None): return unicode(str[0][0], 'gb18030')else: return unicode(str[0][0], str[0][1])'''
/*DISCRIPTION* Send the mail to the unsubmit* ARGUMENTS* string need be Decodinged* RETURN* NOTES*/
'''
def SendEmail():sender = '' receivers = [''] # 接收邮件,可设置为你的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_smtp_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 def GetEmail():try:pp = poplib.POP3_SSL(mail_pop_host)pp.user(mail_user)pp.pass_(mail_pass)ret =pp.stat()print u"登录成功"except:print "can't connect to mailserver"#遍历邮件的标题# emailMsgNum, emailSize = pp.stat()# for i in xrange(1, emailMsgNum+1):# ret = pp.retr(i)# mail = email.message_from_string("\n".join(ret[1]))# subject = email.Header.decode_header(mail['subject'])# MailSubject = Decoding(subject)# print MailSubject ret = pp.retr(2)msg = email.message_from_string("\n".join(ret[1]))print msg.get_payload()# down = pp.retr(1)# print 'lines:', len(down)# for line in down[1]:# print linepp.quit()
GetEmail();
python模拟登录qq邮箱相关推荐
- python模拟登录qq邮箱爬取_python模拟登录qq邮箱
前两天做一个任务,要写一个收取qq邮箱邮件的脚本.开始认为挺简单,后来发现还是有一些坑在里面. 首先使用python尝试模拟登录qq邮箱,发现普通用户已经不能通过账号密码模拟登录qq邮箱了.要用到授权 ...
- python爬取qq邮箱_使用Python模拟登录QQ邮箱获取QQ好友列表
最近因开发项目的需要,有一个需求,就是很多SNS网站都有的通过 Email地址 导入好友列表,不过这次要导入的不是Email 列表,而是QQ的好友列表. 实现方式: 通过google一搜,实现的方式大 ...
- python获取qq好友ip_使用Python模拟登录QQ邮箱获取QQ好友列表
最近因开发项目的需要,有一个需求,就是很多SNS网站都有的通过 Email地址 导入好友列表,不过这次要导入的不是Email 列表,而是QQ的好友列表. 实现方式: 通过google一搜,实现的方式大 ...
- python模拟登录qq获取好友信息_使用Python模拟登录QQ邮箱获取QQ好友列表
最近因开发项目的需要,有一个需求,就是很多SNS网站都有的通过 Email地址 导入好友列表,不过这次要导入的不是Email 列表,而是QQ的好友列表. 实现方式: 通过google一搜,实现的方式大 ...
- python模拟登录网易邮箱
python模拟登录网易邮箱 #coding:utf-8 import urllib2,urllib import cookielib from bs4 import BeautifulSoup#设置 ...
- Python_模拟登录QQ邮箱保存cookies
说明:该程序用于模拟登录QQ邮箱.在首次模拟登录后,将页面的cookies保存,为下次直接登录做准备. from selenium import webdriver from selenium.web ...
- python模拟登录163邮箱_python模拟登录网易邮箱-阿里云开发者社区
python模拟登录网易邮箱 #coding:utf-8 import urllib2,urllib import cookielib from bs4 import BeautifulSoup #设 ...
- python模拟登录163邮箱_Python实现模拟登录网易邮箱的方法示例
本文实例讲述了Python实现模拟登录网易邮箱的方法.分享给大家供大家参考,具体如下: #coding:utf-8 import urllib2,urllib import cookielib fro ...
- python模拟登录163邮箱_python模拟登陆163邮箱并下载邮件内容(第三版代码片段)
python模拟登陆163邮箱并下载邮件内容(第三版代码片段) 注意: 1 由于163邮箱有众多版本,所以登录请求URL,邮件URL等可能也不太一样,下面是163的简约3.0 2 代码缺乏错误处理能力 ...
最新文章
- 用hmmlearn学习隐马尔科夫模型HMM
- 深度学习CTR预估模型凭什么成为互联网增长的关键?
- leetcode算法题--不同的二叉搜索树
- redis操作帮助类
- ITK:Delaunay贴合边缘翻转
- Spring Cloud Gateway-ServerWebExchange核心方法与请求或者响应内容的修改
- 使用HTML5实现地理位置定位
- Rust的所有权(Ownership)
- 荣耀Magic3相机界面公布:提供专业“电影”功能
- php markdown 文章目录,markdown 文本内跳转,生成目录
- Java面试题整理二(侧重SSH框架)
- PMP教材要改版了,考试要趁早吗?
- 七彩虹SL500固态硬盘,慧荣SM2258XT主控成功开卡成MLC模式。上教程和软件链接
- R语言入门:R、R Studio的安装配置【多图详解、保姆级教程】
- qgg包(续)-小数据教程-数据分析
- 安卓android记单词软件
- 路由器开发整理(1)
- 机械学习篇——数据预处理
- 释疑の生产订单作业价格重估-CON2
- 使用Thunderbird管理多个邮件账号