Python网络编程:E-mail服务(一)原理篇
来源:互联网 发布:修改图片文字软件 编辑:程序博客网 时间:2024/06/16 09:01
简介
E-mail服务的总体流程
从上面的邮件服务的过程看,一封邮件从发送到接收,经过
1. 邮件编码
2. 邮件的传输
3. 邮件查看和下载
4. 邮件解码
TCP/IP协议栈分别为这些过程定义相关的标准和协议,下面我们会对其进行逐一介绍。
邮件编解码
邮件格式有RFC 822 - Standard For The Format of ARPA Internet Text Message定义,使用空行分隔邮件的首部和主体部分。此协议已被最新的RFC 2822 - Internet Message Format取代。RFC2045 - Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies提供了使用邮件传输协议传输任意数据的机制,MIME在电子邮件首部中增加一行,用来定义数据类型和使用的编码。关于MIME,因为其非常重要,将会有专门的文章来讲解。在此,只需要理解,MIME是用来定义数据类型和编码的即可。
机器间交互邮件的标准SMTP
TCP/IP协议栈定义了机器间交互邮件的标准SMTP(Simple MailTransfer Protocol),其着重关注底层邮件交付系统如何将邮件从一台机器传到另一台机器。客户和服务器间的连接使用可读的ASCII文本组成。
邮件检索和邮箱操纵协议
允许远程用户从邮件服务器永久邮箱检索邮件,并允许用户操纵邮箱内容(如永久删除邮件)。
邮局协议POP
把邮件从永久邮箱传输到本地计算机的最流行的协议成为邮局协议(Post Office Protocol)版本3,即POP3。用户激活一个POP3客户,该客户创建一个TCP连接,连接具有邮箱的计算机上的POP3服务器。用户首先发送登录名和口令,以鉴别该会话。一旦接受了鉴别,用户客户则可以发送命令,检索一个或多个邮件的副本,或者从永久邮箱里删除邮件。邮件按RFC 822标准格式的文本文件进行存储和传输。
注意,带有永久邮箱的计算机必须运行两个服务器,SMTP服务器接受一个用户的邮件,并把传入的每个邮件添加到该用户的永久邮箱中,POP3服务器允许用户从邮箱中提取邮件并将其删除。为了确保操作正确,这两个服务器必须协调对邮箱的使用,如果邮件通过SMTP到达的同时用户通过POP3提取邮件,邮箱必须能够保持有效状态。
Internet邮件访问协议IMAP
Internet邮件访问协议(Internet Message AccessProtocl)版本4 IMAP4,是POP3的一种替代协议,与POP3不同的是,IMAP4允许用户动态创建、删除或重命名邮箱。它同时提供了邮件检索和处理的扩展功能。总结
由于大部分时候我们遇到的问题是由编写和发送邮件,因此在相关的文章中重点讲解这些相关内容。
- Python网络编程:E-mail服务(一)原理篇
- Python网络编程:E-mail服务(三)MIME解析
- Python网络编程:E-mail服务(四) 编写传统邮件
- Python网络编程:E-mail服务(二)传统E-mail格式
- Python网络编程:E-mail服务(九) 发送HTML格式邮件
- Python网络编程:E-mail服务(五)深入理解email模块的message和MIME类
- Python网络编程:E-mail服务(八) 实现抄送和密送功能
- Python学习 网络编程(四) E-Mail
- E-Mail引领生活(实践篇一)
- Windows网络编程基础 ---1 (转快乐魔导师E-Mail: euho@sina.com)
- E-mail 工作原理及安全漏洞
- Python的网络编程(一)
- python 网络编程基础(一)
- Python网络编程记录一
- Python 网络编程 (一)
- MAIL 邮件服务(一)
- python 获取E-mail中的信息
- python实现电子邮件(E-mail)发送
- lua内存泄露检测原理
- 反射
- RFID系统二进制树型算法是如何解决碰撞的?简述其实现步骤
- Camtasia Studio 专业屏幕录像及视频编辑软件
- 一台电脑连入三个节点的集群ssh配置
- Python网络编程:E-mail服务(一)原理篇
- C#再学习之从0开始(0)
- 通信网络基础-端到端的传输协议总结
- 错误 the type "xxxx" is defined in an assembly that is not refernced.You must add a reference to assem
- hakerrank Almost sorted interval 单调队列
- 创建新会话
- JavaOO-②
- Java IO详解
- Java时间格式转换