本文出处参考: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. Python pass 语句

    Python pass 语句 Python pass是空语句,是为了保持程序结构的完整性. pass 不做任何事情,一般用做占位语句. Python 语言 pass 语句语法格式如下: pass 实例 ...

  2. 如何使用Omnifocus做时间管理 4 多项目管理

    这一篇和大家分享作为一个管理者,可能遇到的时间管理挑战和如何用omnifocus应对这些挑战. 张经理在一家IT公司上班,从程序员开始打拼了5年,凭借权威的技术能力当上了项目经理,同时管理三个项目,苦 ...

  3. mysql least函数

    LEAST(N1,N2,N3,N4,......) LEAST()函数是GREATEST()的相反函数. 其目的是为了返回从值列表(N1,N2,N3,和等)的项最少值.下面的示例演示正确使用和输出LE ...

  4. Node.js:模块系统、函数

    为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统. 模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的.换言之,一个 Node.js 文件就是一个模块, ...

  5. 【算法】Logistic regression (逻辑回归) 概述

    Logistic regression (逻辑回归)是当前业界比较常用的机器学习方法,用于估计某种事物的可能性.比如某用户购买某商品的可能性,某病人患有某种疾病的可能性,以及某广告被用户点击的可能性等 ...

  6. Android Studio中mac上面的安装

    Android Studio中mac上面的安装 学习了:https://blog.csdn.net/xianrenli38/article/details/79347170 http://www.an ...

  7. Google帮助IE浏览器实现对SVG支持

    可缩放矢量图形(SVG)的意识就是一个用于描述二维矢量图形的一种开放图形格式. SVG现在已经能够广泛得应用到许多的项目当中,包括KDE和维基百科等.但是 Internet Explorer浏览器的内 ...

  8. (剑指Offer)面试题53:正则表达式匹配

    题目: 请实现一个函数用来匹配包括'.'和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹配整个模式. ...

  9. 机器学习学习笔记之一:K最近邻算法(KNN)

    算法 假定数据有M个特征,则这些数据相当于在M维空间内的点 \[X = \begin{pmatrix} x_{11} & x_{12} & ... & x_{1M} \\ x_ ...

  10. eclipse插件之easyshell

    在eclipse marketplace可以找到这个插件,名字就是easyshell,下载安装完以后,可以通过配置快捷键实现: enjoy it.