前两天做一个任务,要写一个收取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邮箱相关推荐

  1. python模拟登录qq邮箱爬取_python模拟登录qq邮箱

    前两天做一个任务,要写一个收取qq邮箱邮件的脚本.开始认为挺简单,后来发现还是有一些坑在里面. 首先使用python尝试模拟登录qq邮箱,发现普通用户已经不能通过账号密码模拟登录qq邮箱了.要用到授权 ...

  2. python爬取qq邮箱_使用Python模拟登录QQ邮箱获取QQ好友列表

    最近因开发项目的需要,有一个需求,就是很多SNS网站都有的通过 Email地址 导入好友列表,不过这次要导入的不是Email 列表,而是QQ的好友列表. 实现方式: 通过google一搜,实现的方式大 ...

  3. python获取qq好友ip_使用Python模拟登录QQ邮箱获取QQ好友列表

    最近因开发项目的需要,有一个需求,就是很多SNS网站都有的通过 Email地址 导入好友列表,不过这次要导入的不是Email 列表,而是QQ的好友列表. 实现方式: 通过google一搜,实现的方式大 ...

  4. python模拟登录qq获取好友信息_使用Python模拟登录QQ邮箱获取QQ好友列表

    最近因开发项目的需要,有一个需求,就是很多SNS网站都有的通过 Email地址 导入好友列表,不过这次要导入的不是Email 列表,而是QQ的好友列表. 实现方式: 通过google一搜,实现的方式大 ...

  5. python模拟登录网易邮箱

    python模拟登录网易邮箱 #coding:utf-8 import urllib2,urllib import cookielib from bs4 import BeautifulSoup#设置 ...

  6. Python_模拟登录QQ邮箱保存cookies

    说明:该程序用于模拟登录QQ邮箱.在首次模拟登录后,将页面的cookies保存,为下次直接登录做准备. from selenium import webdriver from selenium.web ...

  7. python模拟登录163邮箱_python模拟登录网易邮箱-阿里云开发者社区

    python模拟登录网易邮箱 #coding:utf-8 import urllib2,urllib import cookielib from bs4 import BeautifulSoup #设 ...

  8. python模拟登录163邮箱_Python实现模拟登录网易邮箱的方法示例

    本文实例讲述了Python实现模拟登录网易邮箱的方法.分享给大家供大家参考,具体如下: #coding:utf-8 import urllib2,urllib import cookielib fro ...

  9. python模拟登录163邮箱_python模拟登陆163邮箱并下载邮件内容(第三版代码片段)

    python模拟登陆163邮箱并下载邮件内容(第三版代码片段) 注意: 1 由于163邮箱有众多版本,所以登录请求URL,邮件URL等可能也不太一样,下面是163的简约3.0 2 代码缺乏错误处理能力 ...

最新文章

  1. 用hmmlearn学习隐马尔科夫模型HMM
  2. 深度学习CTR预估模型凭什么成为互联网增长的关键?
  3. leetcode算法题--不同的二叉搜索树
  4. redis操作帮助类
  5. ITK:Delaunay贴合边缘翻转
  6. Spring Cloud Gateway-ServerWebExchange核心方法与请求或者响应内容的修改
  7. 使用HTML5实现地理位置定位
  8. Rust的所有权(Ownership)
  9. 荣耀Magic3相机界面公布:提供专业“电影”功能
  10. php markdown 文章目录,markdown 文本内跳转,生成目录
  11. Java面试题整理二(侧重SSH框架)
  12. PMP教材要改版了,考试要趁早吗?
  13. 七彩虹SL500固态硬盘,慧荣SM2258XT主控成功开卡成MLC模式。上教程和软件链接
  14. R语言入门:R、R Studio的安装配置【多图详解、保姆级教程】
  15. qgg包(续)-小数据教程-数据分析
  16. 安卓android记单词软件
  17. 路由器开发整理(1)
  18. 机械学习篇——数据预处理
  19. 释疑の生产订单作业价格重估-CON2
  20. 使用Thunderbird管理多个邮件账号

热门文章

  1. 赋值具有的非单一 rhs 维度多于非单一下标数怎么办
  2. Android的16ms和垂直同步以及三重缓存
  3. Intellij Idea创建maven项目,App.java代码编辑区没有run选项
  4. 使用蓝桥杯单片机实现ADC采集和实时时钟界面转换与报警功能
  5. Java - JDK动态代理原理
  6. 几种矩阵分解算法: LU分解,Cholesky分解,QR分解,SVD分解,Jordan分解
  7. H.264码流的分析
  8. 使用libxl库读取excel文件
  9. 将TTF格式文字转换成eot格式
  10. 链路聚合技术及其配置