- 浏览: 13632622 次
- 性别:
- 来自: 洛杉矶
文章分类
- 全部博客 (1994)
- Php / Pear / Mysql / Node.js (378)
- Javascript /Jquery / Bootstrap / Web (435)
- Phone / IOS / Objective-C / Swift (137)
- Ubuntu / Mac / Github / Aptana / Nginx / Shell / Linux (335)
- Perl / Koha / Ruby / Markdown (8)
- Java / Jsp (12)
- Python 2 / Wxpython (25)
- Codeigniter / CakePHP (32)
- Div / Css / XML / HTML5 (179)
- WP / Joomla! / Magento / Shopify / Drupal / Moodle / Zimbra (275)
- Apache / VPN / Software (31)
- AS3.0/2.0 / Flex / Flash (45)
- Smarty (6)
- SEO (24)
- Google / Facebook / Pinterest / SNS (80)
- Tools (22)
最新评论
-
1455975567:
xuezhongyu01 写道wocan23 写道我想问下那个 ...
Mysql: LBS实现查找附近的人 (两经纬度之间的距离) -
xuezhongyu01:
wocan23 写道我想问下那个111.1是怎么得来的我也看不 ...
Mysql: LBS实现查找附近的人 (两经纬度之间的距离) -
18335864773:
试试 pageoffice 在线打开 PDF 文件吧. pag ...
jquery在线预览PDF文件,打开PDF文件 -
青春依旧:
opacity: 0.5; 个人喜欢这种方式!关于其他css特 ...
css透明度的设置 (兼容所有浏览器) -
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
搞定网页打印自动分页问题
1. 主要使用了 poplib 组件
# -*- coding: utf-8 -*- import poplib from email import parser host = 'pop.gmail.com' username = 'mine@gmail.com' password = '*******' pop_conn = poplib.POP3_SSL(host) pop_conn.user(username) pop_conn.pass_(password) #Get messages from server: messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)] # Concat message pieces: messages = ["\n".join(mssg[1]) for mssg in messages] #Parse message intom an email object: messages = [parser.Parser().parsestr(mssg) for mssg in messages] for message in messages: print message['Subject'] pop_conn.quit()
优点: 可以输出内容
缺点: 只检测一次
2. 使用第三方插件 chilkat
# -*- coding: utf-8 -*- import sys import chilkat host = 'pop.gmail.com' username = 'mine@gmail.com' password = '******' # The mailman object is used for receiving (POP3) # and sending (SMTP) email. mailman = chilkat.CkMailMan() # Any string argument automatically begins the 30-day trial. success = mailman.UnlockComponent("30-day trial") if (success != True): print "Component unlock failed" sys.exit() # Set the GMail account POP3 properties. mailman.put_MailHost(host) mailman.put_PopUsername(username) mailman.put_PopPassword(password) mailman.put_PopSsl(True) mailman.put_MailPort(995) # Read mail headers and one line of the body. # To get the full emails, call CopyMail instead (no arguments) bundle = mailman.GetAllHeaders(1) if (bundle == None ): print mailman.lastErrorText() sys.exit() for i in range(0,bundle.get_MessageCount()): email = bundle.GetEmail(i) # Display the From email address and the subject. print email.ck_from() print email.subject() + "\n"
安装见附件
主页:http://www.chilkatsoft.com/products.asp
安装:http://www.chilkatsoft.com/installPython27.asp
安装很简单,点击 showPythonPath.bat 测试一下环境,然后复制 _chilkat.pyd 和 chilkat.py 到 Python27\Lib\site-packages\ 下就可以
优点: 可以多次检测
缺点: 只可以看到来源和主题,无法看到内容
3. 检测邮件,返回未读数值
def gmail_checker(username,password): import imaplib,re i=imaplib.IMAP4_SSL('pop.gmail.com') try: i.login(username,password) x,y=i.status('INBOX','(MESSAGES UNSEEN)') messages=int(re.search('MESSAGES\s+(\d+)',y[0]).group(1)) unseen=int(re.search('UNSEEN\s+(\d+)',y[0]).group(1)) return (messages,unseen) except: return False,0 # Use in your scripts as follows: messages,unseen = gmail_checker('mine@gmail.com','******') print "%i messages, %i unseen" % (messages,unseen)
4. 很好的返回主题和内容
import imaplib import email def extract_body(payload): if isinstance(payload,str): return payload else: return '\n'.join([extract_body(part.get_payload()) for part in payload]) conn = imaplib.IMAP4_SSL("pop.gmail.com", 993) conn.login("mine@gmail.com", "******") conn.select() typ, data = conn.search(None, 'UNSEEN') try: for num in data[0].split(): typ, msg_data = conn.fetch(num, '(RFC822)') for response_part in msg_data: if isinstance(response_part, tuple): msg = email.message_from_string(response_part[1]) subject=msg['subject'] print(subject) payload=msg.get_payload() body=extract_body(payload) print(body) typ, response = conn.store(num, '+FLAGS', r'(\Seen)') finally: try: conn.close() except: pass conn.logout()
参考: http://www.doughellmann.com/PyMOTW/imaplib/
- chilkat-python-2.7-win32.zip (2.6 MB)
- 下载次数: 24
发表评论
-
Python实例讲解 -- 发送邮件带附件 (亲测)
2011-02-23 05:16 12045主要使用了 smtp 和 email 组件 # -*- ... -
文本输入控件wx.TextCtrl
2011-02-22 06:49 14317构造函数: wx.TextCtrl ... -
Python设置默认语言编码
2011-02-22 05:31 3068当python中间处理非ASCII编码时,经常会出现如下错误: ... -
Python实例讲解 -- wxpython 最小到托盘及欢迎图片
2011-02-15 00:59 8004需要注意的是,这里是托盘上的图标弹出菜单是覆盖了Creat ... -
Python实例讲解 -- tkinter canvas (设置背景图片及文字)
2011-02-14 22:17 44620先来一个绘图: from Tkinter import ... -
Python实例讲解 -- wxpython 基本的控件 (按钮)
2011-02-12 04:47 98846使用按钮工作 在wxPython 中有很多不同类型的 ... -
Python实例讲解 -- wxpython 基本的控件 (文本)
2011-02-12 04:20 43797使用基本的控件工作 wxPython 工具包提供了多 ... -
Python实例讲解 -- 操作数据库 附mysqldb win32 py2.7下载
2011-02-11 06:27 4511mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此 ... -
Python实例讲解 -- 解析xml
2011-02-11 05:38 8566doc.xml <?xml version=&q ... -
Python 列表 list 数组 array
2011-02-10 05:53 26912Python中的列表(list)类似于C#中的可变数组(Arr ... -
Python字符串的encode与decode
2011-02-10 05:32 3027首先要搞清楚,字符串 ... -
Python实例讲解 -- 认识wxpython 的 Frame
2011-02-09 23:21 8330简单小代码: #!/usr/bin/python # ... -
Python实例讲解 -- 获取本地时间日期(日期计算)
2011-02-09 05:40 418931. 显示当前日期: ... -
Python实例讲解 -- 定时播放 (闹钟+音乐)
2011-02-08 06:44 17473自己写的闹钟, 只可以播放wav格式的音频。 impo ... -
Python实例讲解 -- 图片处理
2011-02-08 02:57 17708虽然图像处理的最佳工 ... -
Python实例讲解 -- 磁盘文件的操作
2011-02-08 00:02 7099在文件夹里有六十多个RM格式的视频文件,我现在需要把它们的文件 ... -
py2exe使用方法 (含一些调试技巧,如压缩email 类)
2011-02-04 06:11 18962一、简介 py2exe是 ... -
wxPython中文教程 简单入门加实例
2011-01-27 21:49 66445wx.Window 是一个基类,许 ... -
新手如何运行第一个python程序
2011-01-19 03:36 21793不少新手朋友 遇到的 ... -
在Windows环境下用Editplus打造一个Python编辑调试环境
2011-01-19 00:21 6370Python有很多集成开发工具,商业的有 komodo, ...
相关推荐
可以使用Python的email模块来实现带有附件的邮件的发送。 SMTP (Simple Mail Transfer Protocol)邮件传送代理 (Mail Transfer Agent,MTA) 程序使用SMTP协议来发送电邮到接收者的邮件服务器。SMTP协议只能用来发送...
这篇文章详尽地介绍了Python爬虫的基础知识、实例应用以及反爬机制等内容,为初学者和有经验的开发者提供了宝贵的参考资源。 在基础知识部分,文章深入浅出地讲解了爬虫的工作原理,包括HTTP请求与响应的发送与接收...
本书实用性强,共提供了大约175个实例,6600行以上的代码,是帮助读者全面而快速地学习Python语言、编写网络程序的佳实践。本书可以作为各层次Python、Web和网络程序的开发人员的参考书,在实际工作中使用书中的技术...
前面作者讲解了很多知识图谱相关的原理知识,包括知识图谱相关技术、Neo4j绘制关系图谱等,但还是缺少一个系统全面的实例。为了加深自己对知识图谱构建的认识,为后续创建贵州旅游知识图谱打下基础,作者学习了张...
那么,怎么样把hello.py输出内容发送给TestInput.py,最后TestInput.py打印接收到的”hello, world!”。下面我来逐步讲解一下shell的交互方式。 hello.py代码如下: 复制代码 代码如下: #!/usr/bin/python print ...
本文实例讲述了Python装饰器用法。分享给大家供大家参考,具体如下: 写装饰器 装饰器只不过是一种函数,接收被装饰的可调用对象作为它的唯一参数,然后返回一个可调用对象(就像前面的简单例子) 注意重要的一点,...
可以通过PubSub类的实例来订阅频道,并接收发布的消息。 5. Transaction类:表示事务操作,可以将一系列操作封装在一个事务中,保证这些操作的原子性。可以通过Transaction类的实例来执行事务操作。 除了以上类,...
由于工作的需求,需要用python做一个类似网络爬虫的采集器。虽然Python的urllib模块提供更加方便简洁操作,但是涉及到一些底层的需求,如手动设定User-Agent,Referer等,所以选择了直接用socket进行设计。当然,这样...
select()方法接收并监控3个通信列表, 第一个是所有的输入的data,就是指外部发过来的数据,第2个是监控和接收所有要发出去的data(outgoing data),第3个监控错误信息在网上一直在找这个select.select的参数解释, 但...
python入门到高级全栈工程师培训视频学习资料;本资料仅用于学习,请查看后24小时之内删除。 【课程内容】 第1章 01 计算机发展史 02 计算机系统 03 小结 04 数据的概念 05 进制转换 06 原码补码反码 07 物理层和...
那么,怎么样把hello.py输出内容发送给TestInput.py,最后TestInput.py打印接收到的”hello, world!”。下面我来逐步讲解一下shell的交互方式。 hello.py代码如下: #!/usr/bin/python print "hello, world!" Test...
多态实例讲解 本节作业之选课系统开发 第7周 心灵分享 上节回顾 静态方法、类方法、属性方法 课堂扯淡 深入讲解类的特殊成员方法__init__等 深入讲解类的特殊成员方法__new__等 反射详解 异常处理TryExcept 网络...
通过小案例:用户登录的功能来讲解通过jquery validate插件进行表单验证以及通过jquery form进行表单数据提交,以及后端接收数据 讲解缓存:cookie,session 讲解django自带的中间件,以及自己创建中间件 实战开发...
pyqt4精彩实例讲解,适合pyqt4初级学习者,经供参考第6行创建了一个 QPush Button对象,并设置它的显示文木为“ Hello Kitty!",由于此处并 没有指定按钮的父窗体,因此以自己作为主窗凵 第7行调用show()方法,显示...