摘要: 1. 今天的工作主要是把用Python做的邮箱服务的程序整理了下,写了上、中、下三篇文章,打算放到博客里去。由于希望更多人能够看到我写的,所以我先把中篇:讲解知识点、技术的贴了上去,明天把上篇贴上来,附上链接到中篇,吸引更多地人来看。 2. 今天给刘奎恩老师发邮件了,问他住宿到底咋解决,么回。。赶脚有点不妙。。额。再等等。 3. 接下来要做的:   有几天没有看《Delivering Happiness》了,,一会儿好好看看。   把刘奎恩老师发的文档学习下。   算法相关的东西捡起来,这个东西还是很重要的。 阅读全文
posted @ 2013-11-01 22:26 viczzx 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 一、简介   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 阅读(5750) 评论(0) 推荐(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 阅读(792) 评论(0) 推荐(0) 编辑
摘要: 一、简介 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 阅读(18319) 评论(5) 推荐(1) 编辑
摘要: 一、邮件涉及协议及本文说明 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 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 一、本程序的起源 当我决定去中科院实习的时候,我给刘奎恩老师发了封邮件。我对此事是非常看重的,因此经常使用浏览器,打开gmail去查看刘老师有没有给我回复。因为gmail的新邮件推送的功能仅限于打开浏览器,这样还是非常麻烦的。因此,我就想编写一个程序,这个程序的功能是发现gmail邮箱中的新邮件,并推送给我。 这个程序最初的需求还是很简单的,只是发现新邮件,然后把有新邮件这个消息推送给我。由于我想学习python语言,因此考虑用python来开发。于是,我就从零开始了这个程序的开发。二、准备工作 由于此前没有接触过Python,因此熟悉python语言是我第一步需要做的。 《A Byt... 阅读全文
posted @ 2013-11-01 21:22 viczzx 阅读(130) 评论(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 阅读(3854) 评论(0) 推荐(2) 编辑