IMAP协议学习笔记(一)

IMAP

  IMAP(Internet Mail Access Protocol,Internet邮件访问协议)以前称作交互邮件访问协议(Interactive Mail Access Protocol)。IMAP是斯坦福大学在1986年开发的一种邮件获取协议。它的主要作用是邮件客户端(例如MS Outlook Express)可以通过这种协议从邮件服务器上获取邮件的信息,下载邮件等。当前的权威定义是RFC3501。IMAP协议运行在TCP/IP协议之上,使用的端口是143。它与POP3协议的主要区别是用户可以不用把所有的邮件全部下载,可以通过客户端直接对服务器上的邮件进行操作。

  IMAP与POP3的区别:

  与POP3协议类似,IMAP(Internet消息访问协议)也是提供面向用户的邮件收取服务。常用的版本是IMAP4。IMAP4改进了POP3的不足,用户可以通过浏览信件头来决定是否收取、删除和检索邮件的特定部分,还可以在服务器上创建或更改文件夹或邮箱,它除了支持POP3协议的脱机操作模式外,还支持联机操作和断连接操作。它为用户提供了有选择的从邮件服务器接收邮件的功能、基于服务器的信息处理功能和共享信箱功能。IMAP4的脱机模式不同于POP3,它不会自动删除在邮件服务器上已取出的邮件,其联机模式和断连接模式也是将邮件服务器作为“远程文件服务器”进行访问,更加灵活方便。

MIME 

  MIME 是multipurpose Internet mail extensions 的缩写。

  它是一种协议,可使电子邮件除包含一般纯文本以外,还可加上彩色图片、视频、声音或二进位格式的文件。

  它要求邮件的发送端和接收端必须有解读MIME 协议的电子邮件程序

  常见的类型:application、audio、image、message、text、video、x-world   详见:http://www.w3school.com.cn/media/media_mimeref.asp

  1.3  multipart类型
  MIME邮件中各种不同类型的内容是分段存储的,各个段的排列方式、位置信息都通过Content-Type域的multipart类型来定义。multipart类型主要有三种子类型:mixed、alternative、related。
1.3.1  multipart类型基本格式
  ●  multipart/mixed类型
  如果一封邮件中含有附件,那邮件的Content-Type域中必须定义multipart/mixed类型,邮件通过multipart/mixed类型中定义的boundary标识将附件内容同邮件其它内容分成不同的段。基本格式如下:
Content-Type: multipart/mixed;
                 boundary="{分段标识}"
  ●  multipart/alternative类型
  MIME邮件可以传送超文本内容,但出于兼容性的考虑,一般在发送超文本格式内容的同时会同时发送一个纯文本内容的副本,如果邮件中同时存在纯文本和超文本内容,则邮件需要在Content-Type域中定义multipart/alternative类型,邮件通过其boundary中的分段标识将纯文本、超文本和邮件的其它内容分成不同的段。基本格式如下:
Content-Type: multipart/alternative;
                 boundary="{分段标识}"
  ●  multipart/related类型
  MIME邮件中除了可以携带各种附件外,还可以将其它内容以内嵌资源的方式存储在邮件中。比如我们在发送html格式的邮件内容时,可能使用图像作为 html的背景,html文本会被存储在alternative段中,而作为背景的图像则会存储在multipart/related类型定义的段中。基本格式如下:
Content-Type: multipart/related;
                 type="multipart/alternative";
                 boundary="{分段标识}"
1.3.2  multipart类型的boundary属性
  multipart的子类型中都定义了各自的boundary属性,邮件使用这些boundary中定义的字符串作为标识,将邮件内容分成不同的段,段体内的每个子段以“--”+boundary行开始,父段则以“--”+boundary+“--”行结束,不同段之间用空行分隔。

时间: 2024-10-06 07:36:25

IMAP协议学习笔记(一)的相关文章

xmpp协议学习笔记

本文是根据xmpp协议视频教程的学习笔记. 每一个客户端使用JID(jabber identifier)来作为身份标识 ,格式为[user"@"]domain["/"resource],其中 domain:服务器域名: user:用户名: resource:属于用户的位置或设备,比如是手机还是电脑     一个用户可以同时以多种资源与统一个XMPP服务器连接,完整的JID例子:[email protected]/iphone6s     stanza的通用属性:fr

IMAP协议学习

服务器监听端口:143 一次IMAP4rev1连接组成: 1.建立客户端到服务器的网络连接: 2.服务器初始欢迎: 3.剩下就是重复客户端.服务器的交互, 交互基本形式为: 客户端发送命令 服务器返回请求数据 服务器返回完成响应 客户端命令引发操作.每个客户端命令以一个标识作为前缀(典型的有字母.数字构成的短字符串,如:A0001,A0002,等等)――它称为“标签”.客户端为每个命令生成不同的“标签”,也称每个客户端命令都是标签化的. IMAP4rev1服务器端的协议接收端,从客户端读取命令行

tcp/ip协议学习笔记一

一. 简述 以前在学校学习计算机网络的时候学习多是网络7层模型OSI,了解了一些基本的计算机网络概念和协议通信格式,但是一直没弄明白其中的原理,包括各层之间的关系,应用,还有一些常见的令牌环网到底是什么东西,这个OSI它和 TCP/IP协议簇到底是什么关系,为什么有很多协议一样?ip指令格式是什么样的?为什么老是忘记,记不住?3次握手,4次握手协议是什么?ack,syn等等说不清道不明字段是指什么?为什么以太网网卡通信速率有100mbps,两台主机之间的通信却只有不到120kpbs?...所有的

实验:传输层:UDP协议 学习笔记

一.传输层协议 从之前介绍的网络层协议来看,通信的两端是两台主机,IP数据报首部就标明了这两台主机的IP地址.但是从传输层来看,是发送方主机中的一个进程与接收方主机中的一个进程在交换数据,因此,严格地讲,通信双方不是主机,而是主机中的进程. 主机中常常有多个应用进程同时在与外部通信(比如你的浏览器和QQ在同时运行),下图中,A主机的AP1进程在于B主机的AP3进程通信,同时主机A的AP2进程也在与B主机的AP4进程通信. 两个主机的传输层之间有一个灰色双向箭头,写着“传输层提供应用进程间的逻辑通

Http 协议学习笔记 (燕十三老师)

Http 协议 重要性: 1. 无论以后用 WebService 还是用 rest 作大型架构,都离不开. WebService = Http 协议 + XML Rest = HTTP 协议 + Json 各种 API , 一般也是用 http + XML/json 来实现 2. 以及 Ajax 的学习 什么是协议 ( 就是客户端问服务器答) 计算机中的协议和现实中的协议是一样的,一式双份/多份. 双方/多方都遵从共同的一个规范, 这个规范就可以称为协议.计算机之所以能全世界互通,协议是功不可没

实验:应用层协议 学习笔记

应用层协议 在传输层之上,便是应用层.传输层的UDP报文和TCP报文段的数据部分就是应用层交付的数据. 不同类型的网络应用有不同的通信规则,因此应用层协议是多种多样的,比如DNS.FTP.Telnet.SMTP.HTTP.RIP.NFS等协议都是用于解决其各自的一类问题. 本节实验,介绍DNS.FTP.HTTP三个常用的应用层协议. 一.DNS DNS (Domain Name Service 域名服务) 协议基于UDP,使用端口号53. 由数字组成的IP地址很难记忆,所以我们上网使用网站IP地

I2C总线协议学习笔记 (转载)

1.I2C协议   2条双向串行线,一条数据线SDA,一条时钟线SCL.   SDA传输数据是大端传输,每次传输8bit,即一字节.   支持多主控(multimastering),任何时间点只能有一个主控.   总线上每个设备都有自己的一个addr,共7个bit,广播地址全0.   系统中可能有多个同种芯片,为此addr分为固定部分和可编程部份,细节视芯片而定,看datasheet. 1.1 I2C位传输   数据传输:SCL为高电平时,SDA线若保持稳定,那么SDA上是在传输数据bit: 

BGP协议学习笔记

BGP(Border Gateway Protocol)边界网关协议,是一种外部路由协议,边界指的是自治系统的边界,用于在自治系统间传播路由信息BGP通过在路由信息中增加AS路径和其他等附带属性信息来构造自治系统的拓扑图从而消除路由环路实施用户配置的策略. 其着眼点是选择最好的路由并控制路由的传播,而不在于发现和计算路由. BGP协议使用面向链接的TCP作为其传输层协议,提高了协议的可靠性,端口号是179. BGP是一种路径矢量路由协议,用于传输自治系统间的路由信息,BGP在启动的时候传播整张路

RTSP协议学习笔记

一.        RTSP协议概述 RTSP(Real-Time Stream Protocol )是一种基于文本的应用层协议,在语法及一些消息参数等方面,RTSP协议与HTTP协议类似. RTSP被用于建立的控制媒体流的传输,它为多媒体服务扮演“网络远程控制”的角色.尽管有时可以把RTSP控制信息和媒体数据流交织在一起传送,但一般情况RTSP本身并不用于转送媒体流数据.媒体数据的传送可通过RTP/RTCP等协议来完成. 一次基本的RTSP操作过程是:首先,客户端连接到流服务器并发送一个RTS