本文出处参考: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. ODS与数据仓库

    数据仓库是目前主要的数据存储体系.数据仓库之增W.H.Inmon认为,数据仓库是指支持管理决策过程的.面向主题的.集成的.随时间而变的.持久的数据的集合.简单地说,一个数据仓库就一个自数据库的商业应用 ...

  2. eclipse下使用git上传(下载)代码至(从)github

    eclipse下使用git插件上传代码至github 1.eclipse下安装git 正常情况下,eclipse 是自带 git 插件的,那么即可跳至步骤1的最后一小步,配置 git . 如果十分悲剧 ...

  3. Android onConfigurationChanged 不执行

    自从Android 3.2(API 13),screen size也开始跟着设备的横竖切换而改变. 所以,在AndroidManifest.xml里设置的MiniSdkVersion和 TargetS ...

  4. 总结学习 Python 的 14 张思维导图汇总

  5. Java里面类型转换总结

    1.String 转 int int i = Integer.valueOf(my_str).intValue(); int i = Integer.parseInt(str); 2.String 转 ...

  6. 浅析GitLab Flow的十一个规则

    使用 Git 版本控制,是对使用它之前的所有版本控制方式的一种改进.然而,很多组织最终以太过混乱或过于复杂的流程来结束.这个问题对于刚从其他版本控制系统转过来的组织来说特别突出. 在本文中我们会列出 ...

  7. 《tortoisegit》 Network error:Connection refused

    在用tortoisegit克隆的时候,或者push的时候出现错误提示: 尝试修改:c:\windows\system32\drivers\etc\services 中的ssh端口,但是发现是22端口, ...

  8. QtGui.QPen

    The QtGui.QPen is an elementary graphics object. It is used to draw lines, curves and outlines of re ...

  9. QtGui.QPixmap

    A QtGui.QPixmap is one of the widgets used to work with images. It is optimized for showing images o ...

  10. Python list删除元素

    pop()方法 pop(n) 从list删除元素Paul同学刚来几天又要转走了,那么我们怎么把Paul 从现有的list中删除呢?如果Paul同学排在最后一个,我们可以用list的pop()方法删除: ...