摘要: 一、简介   POP(Post Office Protocal)最长用的POP版本是POP3,因此本文是以POP3为主。POP3非常简单,可以用来从邮件服务器上下载邮件,然后删除这些邮件。功能非常有限,后面讲解的IMAP完胜它,不过作为入门级的,还是有必要介绍一下,也对学习SMTP有帮助。   Python提供了poplib模块,它提供了使用POP的便利接口。 二、实例   由于pop3功能较IMAP非常有限,而且我最后的程序并没有使用pop3,所以,不详细讲解,下面通过一个例子来说明下较为常见的功能。   这个例子的功能为进入邮箱,查看所有的邮件。首先显示邮件的发件人、主题,查看邮箱主题内容。 1. 需要模块 import email, poplib, sys 2. 连接POP3服务器,登录个人邮箱账户   poplib提供POP3()方法和POP3_SSL()方法连接POP3服务器,区别和SMTP一样。gmail仍然使用POP3_SSL()方式,并返回class POP3实例 p = poplib.POP3_SSL('pop.gmail.com') 阅读全文
posted @ 2013-11-01 21:39 viczzx 阅读(5774) 评论(0) 推荐(1) 编辑
摘要: 一、简介 IMAP(Internet Message Access Protocol),这个协议与POP一样,也是从邮件服务器上下载邮件到本机,不过IMAP比POP的功能要更加强大些,IMAP除支持POP所有功能外,还支持以下功能: 多个邮件文件夹(收件箱、发件箱、垃圾邮件...) IMAP服务器上进行标记如:Seen, Replied, Read, Deleted 在服务器端的文件夹之间拷贝和移动邮件 ...   在IMAP的各版本中,最流行的是IMAP4。我们就使用IMAP4   由于,我需要搜索是否有未读邮件,也就是利用邮件服务器的Flag,所以IMAP是非常适合的,我的程序就利用的是IMAP。   在Python的标准库包含一个imaplib模块,可以利用这个模块。但是,这个模块的缺陷就是把大量解析的工作留给客户端程序员。 二、IMAPClient   IMAPClient是一个非常受欢迎的IMAPCLient包,这个模块不在标准Python库中。IMAPClient包是由一名叫做Menno Smits的Python程序员编写的。官网网址:http:// 阅读全文
posted @ 2013-11-01 21:37 viczzx 阅读(18370) 评论(5) 推荐(1) 编辑
摘要: 一、简介   上面介绍了传统邮件的生成和解析,这些都是non-internet,也就是不需要网络就可一完成的。那么当生成了邮件,下一步就是发送了,本文就讲解利用SMTP协议发送邮件。   正如SMTP(Simple Mail Transfer Protocal)名字一样,只能发送简单邮件。上面讲解就是生成的简单邮件,完全可以通过SMTP协议来发送。 二、SMTP使用方法   Python是通过smtplib模块来实现SMTP的。关于本模块的详细说明,请参考这里。 1. 方法流程   生成message, 连接你的邮箱smtp服务器,登录自己的邮箱帐号, 发送邮件,退出 2. 连接邮箱smtp服务器   一般各大公司的smtp邮箱服务器网址都是形如:smtp.example.com,如gmail的为smtp.gmail.com   连接邮箱smtp服务器使用smtplib.SMTP()和smtplib.SMTP_SSL()方法。SMTP_SSL()方法使用了安全socket层。由于我不求甚解,所以更加详细的说明请见文档。我使用的gmail使用的是SMTP_ 阅读全文
posted @ 2013-11-01 21:37 viczzx 阅读(794) 评论(0) 推荐(0) 编辑
摘要: 一、邮件涉及协议及本文说明 1. 协议 SMTP(Simple Mail Transfer Protocal) 简单邮件传输协议,用于发送邮件。 MIME(Mutipurpose Internet Mail Extensions) 多用途互联网邮件扩展,可发送附件。但由于,程序不许要这个功能,因此我们有学习,也就不会出现在本文中。 POP(Post Office Protocal) 邮局协议,一般用POP3。可以用以较为简单的方式接收邮件(从邮件服务器上下载邮件到主机上)。 IMAP(Internet Mail Access Protocal) 也用于接收邮件,功能较POP3更为强大些。 2. 在下面中会更详细的介绍这些协议,以及在Python中的使用方式。 二、邮件格式粗糙解释。   Email在组织的时候遵循header和body的映射模式。而header是固定一些可选的如 From, To, Subject, Date time, Receiver, Message-ID, Content, Attachment。它们的组织形式如: From: ... 阅读全文
posted @ 2013-11-01 21:36 viczzx 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 这篇博客,主要讲解用Python实现邮箱服务的几个需要学习的模块:E-mail Compotion and Decoding(邮件生成和解析)、SMTP、POP、IMAP 如上篇博客所讲,我学习过程参考《Foundations of Python3 Network Programming. 2nd Edition》,代码部分借鉴了其中的例子,但绝对包含自己的东西,特此声明。 如果已经了解了这些知识,请看:用Python实现gmail邮箱服务,实现两个邮箱之间的绑定(下)E-mail Composition and Decoding一、邮件涉及协议及本文说明1. 协议 SMTP(Simp... 阅读全文
posted @ 2013-11-01 21:14 viczzx 阅读(3863) 评论(0) 推荐(2) 编辑
摘要: 有几天没有写日志了,真的太懒了,还没有坚持几天啊。。。 2013.10.30   以《Android核心技术与实例详解》为教材,看完Service组件和Android广播事件处理Broadcast,把书中的例子全部实现,理解的差不多。 2013.10.31   学习Android中的数据存取。 1. Preference   Preference提供一种轻量级的存取方法,以Map的方式存储在一个SharedPreference实例中。通过SharedPreferences.Editor进行写,利用SharedPreferences.getString()方法读出来。   典型应用是:MainActivity中的一个EditText中输入文字,由于某种原因,在未完成前切换到AnotherActivity中,此时MainActivity中的onStop把EditText中的文字取出存储到SharedPreferences中。当回到MainActivity中时,自动的取出文字并显示出来。   具体方法就列出了,看书或者API吧 2. Fi 阅读全文
posted @ 2013-10-31 10:51 viczzx 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 计算机数学对于许多人来说可能是一个难以搞定的科目。在这里我们为大家提供了 21 本免费电子书来帮助大家更好的理解计算机数学。   1. 概率编程和黑客的贝叶斯方法   这本书是对贝叶斯推理的一个引导,着重于计算机理解方面,以数学观点为辅。这本书假定你事先即不了解贝叶斯推理也不了解概率编程的知识。   2. 图灵机时代的数学   Thomas Hales 著,出版商:arXiv ,2013   计算机快速增长,变得在数学中无处不在,我们的后代回顾今天,可能会将它视为金色黎明。这篇文章给出了一个关于数学证明需要依赖计算机计算的调查和证明。   3. Pi 的简史:从阿基米德到 Eniac     Jonathan M. Borwein 著,出版商:DocServer, 2010   理解 Pi,挑战 Pi,原始需要,计算更加精确的 Pi 的值,这些难题已经挑战了数学家多个世纪,并且 Pi 已经被证明是计算机数学令人信服的例子。   4. Julia 集和 Mandelbrot 集概览   - Wikibooks, 2010 阅读全文
posted @ 2013-10-30 21:33 viczzx 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 早就想搭建一个专属于自己的博客了,用来记录自己生活、学习的点点滴滴。之所以选WordPress,主要是因为它可以支持Latex,而且特别喜欢其简约的风格。 WordPress有个the famous 5 minutes installing,无奈我对LAMP(Linux,Apache,MySQL,PHP)几乎一无所知,用了将近两天才把整个博客搭建起来。安装 WordPres很容易,但是把相关的配置好就比较麻烦了。下面是我整个搭建过程的总结。 操作系统:Ubuntu 12.04LTS 首先列出需要的文件: 1.wordpress http://wordpress.org/download/ 2.mysql http://www.mysql.com/downloads/mysql/ 3.httpd2.4.6 http://httpd.apache.org/download.cgi 4.apr1.4.8 http://apr.apache.org/download.cgi 5.apr-util1.5.2 http://apr.apache.or 阅读全文
posted @ 2013-10-29 19:42 viczzx 阅读(337) 评论(0) 推荐(0) 编辑
摘要: It's never too late, move now!Always do the right thing!Learn more from your own experience rather than others which means always desire to do it on your own! 阅读全文
posted @ 2013-10-29 18:58 viczzx 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 虽然还在为学哪部分而发愁,但渐渐的我明白了,只要静下心来慢慢学习,不论学什么,只要掌握了都会是有用的。目前对于需求仍不明确,所以学会android编程的一些基础不也挺好吗? 1. 学习了点android界面编程。不过由于《android核心技术与实例详解》的源码比较混乱,所以中途停止 2. 学习了intent的用法   显示的指定组件intent方法,把该书中的例子全都实现了一遍,全部成功,对Intent指定组件方法有了一定的了解   没有学习intent fliter 3. 知识点总结   在android中一些组件需要在相应的layout下的.xml文件中进行注册,然后再相应的activity类中进行声明及实例化。至于.xml注册的语法规则暂未掌握。Button的实例见相关例子 阅读全文
posted @ 2013-10-28 18:06 viczzx 阅读(97) 评论(0) 推荐(0) 编辑