计网基础-应用层之Email应用

Email应用的构成组件

1、邮件客户端user agent

读写Email消息

与服务器交互,收、发Email消息

Outlook、foxmail、thunderbird、web客户端浏览器

 

2、邮件服务器

Email服务的核心

用户申请账号,为每一个用户分配一个邮箱(存储发给该用户的Email)和消息队列(存储等待发送的Email)

 

3、SMTP协议simple mail transfer protocol

Email服务的核心协议:邮件服务器之间传递消息所使用的协议

客户端:发送消息的服务器

服务器:接收消息的服务器

SMPT协议:RFC 2821

- 使用TCP进行Email消息的可靠传输

- 端口为25

- 传输过程经历三个阶段:握手、消息的传输、关闭

- 命令/响应交互模式

命令command:ASCII美国信息交换标准代码文本

响应response:状态代码和语句

注意,HTTP使用的是请求/响应的模式

注意,Email消息只能包含7位ASCII码,因为比较古老的时候,并不能传输多媒体,只有文本内容

当下,常常附带附件文件。

 

 

 


 

为什么不直接PC之间连接发送邮件?而需要邮件服务器?

1、不能长时间在线,当我们没有接入Internet时,别人无法发邮件到本地

2、影响用户体验,加入要给别人发邮件,对方在线,需要始终等待

 

因此,通过邮件服务器,

1、一直保持打开状态,能确保任何适合别人都可以给你发邮件

2、你的邮件由邮件给你代发,能确保准确无误地交付到对方的邮箱中

 


SMTP交互过程:握手、消息的传输、关闭

s:接收方  c:发送方

 

动手尝试smtp交互:

使用telnet工具,与smtp服务器进行交互

c:telnet 13568998413@163.com 25

s:220

c:输入命令(helo、mail from、rcpt to、data、quit)

 

特点:

1、使用持久性连接

2、要求消息必须以7位ASCII码构成

3、SMTP服务器利用CRLF.CRLF确定消息的结束

 

与http对比

拉式:浏览器到web服务器拉取内容

推式:由发送方主动的跟接收方进行连接,将消息进行推送

 


Email消息格式

根据RFC 822的文本消息格式标准

 

 

加入要添加附件文件呢?

MIME:多媒体邮件扩展

根据RFC 2045,2056

- 通过在邮件头部增加额外的行,以声明mime的内容类型

base64数据编码方法,

接收方同样使用base64方法解码

 

 


邮件访问协议

从邮件服务器获取邮件

 

smtp协议是邮件服务器之间通信的协议

user agent和服务器之间也需要协议——邮件访问协议

(1)POP:post office protocol

认证/授权(客户端<-->服务器)和下载

 

特点:

“下载并删除”模式:早些时候服务器不可能让你存放太多邮件,很多需要阅读后下载在本地客户端再dele删除,但是换了客户端软件后,就无法通过服务器重读邮件

“下载并保持”模式:不同客户端可以保留消息的拷贝

另外,POP3是无状态协议

 

(2)IMAP:Internet mail access protocol

比较新的协议,更多功能,也更复杂,能够操作存储在服务器上的消息

 

特点:

所有消息统一保存在服务器

允许用户利用文件夹组织消息

IMAP支持跨会话session的用户状态

即支持所有客户端查看的一致的邮件文件夹和邮件

 

(3)HTTP:163,QQ Mail

 

 

 

 

 

 

 

 

 

posted @ 2018-06-28 18:25  hoanfir  阅读(538)  评论(0编辑  收藏  举报