本文出处参考:http://www.cnblogs.com/LinuxHunter/archive/2010/11/30/1891635.html

在很多的python 教程中都会讲到登录邮箱或发送邮件的例子,好东西不怕多,本文也举一个例子。登录tom邮箱发信,代码如下:

  1. def loginTom(username, password):
  2. url1 = '''
  3. http://login.mail.tom.com/cgi/login
  4. '''
  5. values = {
  6. 'type' : '0',
  7. 'user' : '%s' % username,
  8. 'in_username' : '%s@tom.com' % username,
  9. 'pass' : '%s' % password,
  10. 'style' : '21',
  11. 'verifycookie' : 'y'
  12. }
  13. data = urllib.urlencode(values)
  14. req = urllib2.Request(url1, data)
  15. response = opener.open(req)
  16. data2 =response.read()
  17. sid = re.search(r'(?<=(sid=)).*?(?=&)', data2).group()
  18. url3 = '''
  19. http://bjapp6.mail.tom.com/cgi/ldapapp?funcid=mails&sid=%s&fid=1
  20. ''' % sid
  21. response = opener.open(url3)
  22. data3 = response.read()
  23. b = re.search(r'(?<=nTotalMailCount).*?(?=;)', data3).group()
  24. c = re.search(r'\d.+', b).group()
  25. num_per_page = 20
  26. num_times = string.atoi(c) / 20
  27. print( num_times )
  28. index = 0
  29. for match in re.finditer(r'(?<="Mbox_Td_Subject"\>).*?(?=\</)', data3):
  30. index += 1
  31. part1 = "第%d封邮件" % index
  32. part2 = " %s" % match.group()
  33. part1 = part1.decode('utf8').encode('gbk')
  34. subject = re.search(r'(?<=\>).+', part2).group()
  35. subject = part1.decode('gbk') + "    " + subject.decode('gbk')
  36. print( subject.encode('gbk'))
  37. for i in xrange(num_times - 1):
  38. url3 = '''
  39. http://bjapp6.mail.tom.com/cgi/ldapapp?funcid=mails&sid=%s&fid=1&start=%d
  40. ''' % (sid, (i + 1) * num_per_page )
  41. response = opener.open(url3)
  42. data3 = response.read()
  43. for match in re.finditer(r'(?<="Mbox_Td_Subject"\>).*?(?=\</)', data3):
  44. index += 1
  45. part1 = "第%d封邮件" % index
  46. part2 = " %s" % match.group()
  47. part1 = part1.decode('utf8').encode('gbk')
  48. subject = re.search(r'(?<=\>).+', part2).group()
  49. subject = part1.decode('gbk') + "    " + subject.decode('gbk')
  50. print( subject.encode('gbk'))

python登陆Tom邮箱的代码一例的更多相关文章

  1. 使用Python登陆QQ邮箱发送垃圾邮件 简单实现

    参考:Python爱好者 知乎文章 需要做的是: 1.邮箱开启SMTP功能 2.获取授权码 上述两步百度都有. 源码: #!/usr/bin/env python from email.mime.te ...

  2. Python登陆人人网

    #!coding:utf-8 import urllib2 import urllib import cookielib def renrenBrower(url,user,password): #登 ...

  3. Python代码样例列表

    扫描左上角二维码,关注公众账号 数字货币量化投资,回复“1279”,获取以下600个Python经典例子源码 ├─algorithm│       Python用户推荐系统曼哈顿算法实现.py│    ...

  4. paip.输入法编程--英文ati化By音标原理与中文atiEn处理流程 python 代码为例

    paip.输入法编程--英文ati化By音标原理与中文atiEn处理流程 python 代码为例 #---目标 1. en vs enPHati 2.en vs enPhAtiSmp 3.cn vs ...

  5. MimeMessageHelper代码发邮件时,通过客服端登陆到邮箱,在已发送邮件里没有已经通过代码发送的邮件

    MimeMessageHelper代码发邮件时,通过客服端登陆到邮箱,在已发送邮件里没有已经通过代码发送的邮件, 这个问题很奇怪,这样的话不能看到通过代码发送的邮件历史记录,所以只好借助秘密抄送了,抄 ...

  6. Python qq企业邮箱发送邮件

    Python qq企业邮箱发送邮件 进入客户端设置: 下面是代码部分: from email.header import Header from email.mime.text import MIME ...

  7. 33个超级有用必须要收藏的PHP代码样例

    作为一个正常的程序员,会好几种语言是十分正常的,相信大部分程序员也都会编写几句PHP程序,如果是WEB程序员,PHP一定是必备的,即使你没用开发过大型软件项目,也一定多少了解它的语法. 在PHP的流行 ...

  8. 【教程】模拟登陆百度之Java代码版

    [背景] 之前已经写了教程,分析模拟登陆百度的逻辑: [教程]手把手教你如何利用工具(IE9的F12)去分析模拟登陆网站(百度首页)的内部逻辑过程 然后又去用不同的语言: Python的: [教程]模 ...

  9. 用Python实现gmail邮箱服务,实现两个邮箱之间的绑定(上)

    一.本程序的起源 当我决定去中科院实习的时候,我给刘奎恩老师发了封邮件.我对此事是非常看重的,因此经常使用浏览器,打开gmail去查看刘老师有没有给我回复.因为gmail的新邮件推送的功能仅限于打开浏 ...

随机推荐

  1. Arcgis license 服务无法启动的解决问题

    来自:http://blog.csdn.net/u013719339/article/details/51240312 1.检查服务开没开.打开资源管理器然后按照下面就出现了.也可以打开运行——ser ...

  2. UML建模工具Visio 、Rational Rose、PowerDesign的比较

    UML建模工具Visio .Rational Rose.PowerDesign的比较   ROSE是直接从UML发展而诞生的设计工具,它的出现就是为了对UML建模的支持,ROSE一开始没有对数据库端建 ...

  3. matlab中m文件与m函数的学习与理解

    1. m文件与m函数的区别 所谓 MATLAB 程序,大致分为两类: M 脚本文件 (M-Script) 和 M 函数 (M-function), 它们均是普通的 ASCII 码构成的文件. M 脚本 ...

  4. Computer Vision Tutorials from Conferences (3) -- CVPR

    CVPR 2013 (http://www.pamitc.org/cvpr13/tutorials.php) Foundations of Spatial SpectroscopyJames Cogg ...

  5. kvm安装windows系统

    1.创建虚拟机镜像文件并指定大小(10G) [root@centos01 ~]# qemu-img create -f raw /opt/windows20031.raw 10G Formatting ...

  6. Cognos开发ContentManagerServiceStub不能转换为Stub

    Cognos SDK开发过程中遇到的小错误详细请看下图 另:附加了详细的错误信息 Exception in thread "main" java.lang.ClassCastExc ...

  7. springmvc 入门(1)

    1.1 Springmvc 本套课程基于spring4.X来讲解的 SpringMVC 概述 Spring 为展现层提供的基于 MVC 设计理念的优秀的 Web 框架,是目前最主流的 MVC 框架之一 ...

  8. NGUI所见即所得之深入剖析UIPanel,UIWidget,UIDrawCall底层原理

    NGUI所见即所得之深入剖析UIPanel,UIWidget,UIDrawCall底层原理 By D.S.Qiu 尊重他人的劳动,支持原创,转载请注明出处:http.dsqiu.iteye.com 之 ...

  9. 深入探讨Linux静态库与动态库的详解(转)

    2.生成动态库并使用 linux下编译时通过 -shared 参数可以生成动态库(.so)文件,如下 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. 一.静 ...

  10. js中ip地址与整数的相互转换

    转载地址 //IP转成整型function _ip2int(ip) {    var num = 0;    ip = ip.split(".");    num = Number ...