本文出处参考: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. 别闹了,你还在记密码? | 1password 备忘&教程

    每个人在网上或电脑离线软件上都会有一些账号和密码. 这些账号,如果你设置成一个呢,不安全,尤其是如果你很多地方的账号密码都是同一套的话,如果在一个安全系数比较低的地方被盗号了,那其他地方也瞬间都不安全 ...

  2. 【mysql】二级索引----聚簇索引和非聚簇索引-----

    参考地址: https://blog.csdn.net/bigtree_3721/article/details/51335479 https://blog.csdn.net/roxliu/artic ...

  3. 【采集层】Kafka 与 Flume 如何选择(转)

    原文链接:[采集层]Kafka 与 Flume 如何选择 采集层 主要可以使用Flume, Kafka两种技术. Flume:Flume 是管道流方式,提供了很多的默认实现,让用户通过参数部署,及扩展 ...

  4. windows环境按照dcm4chee

    背景: dcm4chee是dcm4che开源项目中的一部分,是一款符合IHE规定的影像管理/归档应用.dcm4chee遵循DICOM.HL7标准,实现了图像存储.图像提取.及健康领域的工作流程管理.d ...

  5. Android WebView File域同源策略绕过漏洞浅析

       0x00     我们首先讲一个webView这种方法的作用: webView.getSettings().setAllowFileAccessFromFileURLs(false);     ...

  6. 根据WSDL文件生成代理类

    D:\Program Files\Microsoft Visual Studio 10.0\VC>wsdl  /l:c#  /n:cmsserver  /out:E:\ospsoft\Trave ...

  7. Ubuntu 14.04安装语言包后无法选择汉语问题解决

    如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 安装完语言包后.尽管里面有了汉语.可是是灰色的.例如以下图所看到的: watermar ...

  8. 更新后android studio 2.0 构建gradle卡在Refreshing Gradle Project 解决办法

    首先打开android studio项目 找到项目目录gradle\wrapper\gradle-wrapper.properties这个文件 你会看到 #Wed Apr 10 15:27:10 PD ...

  9. iOS 检查app版本更新操作

    iOS 检查app版本更新操作 1:获取本地安装的版本信息: [NSString stringWithFormat:@"Version %@ (%@)", [[[NSBundle ...

  10. vue - router 起步

    官方API:https://router.vuejs.org/zh/guide/#javascript vue-cli for index.js export default new Router({ ...