本文出处参考: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. 【实体 报错 】No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer and no properties discovered to create BeanSerializer

    HTTP Status 500 - Could not write content: No serializer found for class org.hibernate.proxy.pojo.ja ...

  2. 【翻译自mos文章】job 不能自己主动运行的解决方法

    job 不能自己主动运行的解决方法 參考原文: Jobs do not execute automatically (Doc ID 309945.1) 适用于: Oracle Server - Ent ...

  3. (转)基于SQL的EAN13、ENA8条形码校验位生成

    USE [DB]GO/****** Object: UserDefinedFunction [dbo].[EAN13] Script Date: 07/04/2017 15:21:51 ******/ ...

  4. OpenCV图像平滑处理

    图像平滑处理 目标 本教程教您怎样使用各种线性滤波器对图像进行平滑处理,相关OpenCV函数如下: blur GaussianBlur medianBlur bilateralFilter 原理 No ...

  5. asp中将系统货币符号¥改为美国货币符号$的做法

    我们一般用FormatCurrency()函数得到字符串前面都会加上人民币符号¥.但在做一些网站时想把他们变成$. 可以在网面的前面加上一名话就OK了 SetLocale("en-us&qu ...

  6. iOS:UIPageViewController翻页控制器控件详细介绍

    翻页控制器控件:UIPageViewController 介绍: 1.它是为我们提供了一种类似翻书效果的一种控件.我们可以通过使用UIPageViewController控件,来完成类似图书一样的翻页 ...

  7. 【OpenMesh】Training:Getting Started with OpenMesh

    内容出自236329 - Digital Geometry Processing, Spring2013 - Announcements上的OpenMesh Assignment感觉比较好,适合刚开始 ...

  8. IE系列不支持圆角等CSS3属性的解决方案

    IE系列浏览器不支持CSS的圆角(border-radius)等CSS3属性是一个众所周知的问题,而FF.Chrome原生的浏览器支持是的优雅的圆角感觉较好,如何解决这个问题呢? 一种比较传统的方案是 ...

  9. ECharts学习总结(五):echarts的Option概览

    注:下面内容摘自echarts官网,原文地址:http://echarts.baidu.com/doc/doc.html#%E9%80%89%E9%A1%B9 option 图表选项,包含图表实例任何 ...

  10. 基于Spring Boot和Spring Cloud实现微服务架构学习--转

    原文地址:http://blog.csdn.net/enweitech/article/details/52582918 看了几周spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习 ...