计算机网络(10)——Email应用:SMTP协议及邮件访问协议

Email 应用概述

下图给出了因特网 Email 系统的总体情况,从该图中我们可以看到它有三个主要组成部分:邮件客户端(user agent)、邮件服务器(mail server)和简单邮件传输协议(Simple Mail Transfer Protocol, SMTP

  • 邮件客户端允许用户读、写 Email 消息,它可以与邮件服务器交互,收、发 Email 消息。
  • 邮件服务器是 Email 体系结构的核心,它为每一个用户分配一个邮箱(mailbox),并且有一个消息队列(message queue)存储等待发送的 Email,发送失败的邮件会在保存该消息队列中并在以后尝试再次发送。
  • SMTP协议邮件服务器间传递消息所使用的应用层协议,SMTP 也有两个部分:运行在发送方邮件服务器的客户端和运行在接收方邮件服务器的服务器端每台邮件服务器既运行 SMTP 的客户端也运行 SMTP 的服务器端

在这里插入图片描述

一个典型的邮件发送过程是:从发送方的用户代理开始,传输到发送方的邮件服务器,再传输到接收方的邮件服务器,然后在这里被分发到接收方的邮箱中。
在这里插入图片描述

SMTP 协议

简单邮件传输协议(Simple Mail Transfer Protocol, SMTP是因特网电子邮件应用的核心,用于从发送方的邮件服务器发送报文到接收方的邮件服务器,使用 TCP 进行 Email 消息的可靠传输。

SMTP 问世的时间比 HTTP 要长很多(初始的 SMTP 的 RFC 可追溯到 1982 年,而 SMTP 在此之前就已经出现了),它限制所有邮件报文的体部分(不只是其首部)只能采用简单的 7 位 ASCII 表示,在今天的多媒体时代,在用 SMTP 传送邮件之前,需要将二进制多媒体数据编码为 ASCII 码,并且在使用 SMTP 传输后要求将响应的 ASCII 码邮件解码还原为多媒体数据。

SMTP 的交互过程:首先,客户端 SMTP 在 25 号端口建立一个到服务器 SMTP 的 TCP 连接。如果服务器没有开机,客户会在稍后继续尝试连接。一旦 TCP 连接建立,服务器和客户执行某些应用层的握手,SMTP 客户指示发送方的邮件地址和接收方的邮件地址。一旦该 SMTP 客户和服务器彼此介绍之后,客户发送该报文,SMTP 能够依赖 TCP 提供的可靠数据传输无差错地将邮件投递到接收服务器。该客户如果有另外的报文要发送到该服务器,就在该相同的TCP 连接上重复这种处理,即 SMTP 用的是持久性连接;否则,它指示 TCP 连接关闭。

S: 220 hamburger.edu 
C: HELO crepes.fr 
S: 250  Hello crepes.fr, pleased to meet you 
C: MAIL FROM: <alice@crepes.fr> 
S: 250 alice@crepes.fr... Sender ok 
C: RCPT TO: <bob@hamburger.edu> 
S: 250 bob@hamburger.edu ... Recipient ok 
C: DATA 
S: 354 Enter mail, end with "." on a line by itself 
C: Do you like ketchup? 
C: How about pickles? 
C: . 
S: 250 Message accepted for delivery 
C: QUIT 
S: 221 hamburger.edu closing connection

上面的例子给出了 SMTP 交互过程,DATA 命令表示客户端要开始发送数据了,收到服务器的回复之后就开始发送数据,客户通过发送一个只包含 . 的行指示该报文结束了(按照 ASCII 码的表示方法,每个报文以 CRLF.CRLF 结束,其中的每个 CRLF 分别表示回车和换行)。

与 HTTP 的对比

这两个协议都用于从一台主机向另一台主机传送文件,当进行文件传送时,持久的 HTTP 与 SMTP 都使用持久性连接。因此,这两个协议有一些共同特征,如:

  • 都使用命令/响应交互模式
  • 命令和状态代码都是 ASCII 码

然而,两者之间也有一些重要的区别:

  • HTTP 是一个拉协议(pull protocol),SMTP 是一个推协议(push protocol)
  • SMTP 报文必须按照 7 比特 ASCII 码进行编码,HTTP 数据则不受这种限制
  • 对于既包含文本又包含图形的文档的处理方法,HTTP 把每个对象封装到它自己的 HTTP 响应报文中,而 SMTP 则把所有报文对象放在一个报文中。

Email 消息格式

在这里插入图片描述

首部行(header)必须含有一个 From: 首部行和一个 To: 首部行,也许包含 Subject: 等其他可选的首部行。注意这些首部行不同于前面前面说到的 SMTP 命令(即使那里也包含了某些相同的词汇,如 from 和 to),SMTP 中的命令是 SMTP 握手协议的一部分,而这里的首部行则是邮件报文自身的一部分。
消息体(body)指 Email 消息本身,只能是 ASCII 字符

多媒体扩展

MIME:多媒体邮件扩展,通过在邮件头部增加额外的行以声明 MIME 的内容类型。

在这里插入图片描述

邮件访问协议

在这里插入图片描述

接收方的邮件客户端不能使用 SMTP 从邮件服务器获取邮件,因为取邮件是一个拉操作,而 SMTP 是一个推协议,通过引入邮件访问协议来解决这个问题。目前有一些流行的邮件访问协议,包括第三版的邮局协议(Post Office Protocol-Version 3, POP3因特网邮件访问协议(Internet Mail Access Protocol, IMAP以及 HTTP

这也说明一个网络应用可以综合使用多个应用层协议。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 基于POP3和SMTP协议邮件收发应用程序是一种能够通过互联网发送和接收电子邮件的软件。POP3协议是一种用于接收邮件协议,它允许用户从邮件服务器上下载邮件到本地计算机上。SMTP协议则是一种用于发送邮件协议,它允许用户将邮件发送到邮件服务器上,然后由服务器将邮件发送到目标地址。 这种邮件收发应用程序通常包括一个邮件客户端和一个邮件服务器。邮件客户端是用户用来发送和接收邮件的软件,它可以连接到邮件服务器上,下载邮件并将邮件发送到服务器上。邮件服务器则是用来存储和转发邮件的软件,它可以接收用户发送的邮件并将邮件发送到目标地址。 基于POP3和SMTP协议邮件收发应用程序可以帮助用户快速、方便地发送和接收邮件,是现代通信中不可或缺的一部分。 ### 回答2: 邮件系统是现代通讯的重要组成部分,在各种应用场景中广泛使用。其中,基于pop3和smtp协议邮件收发应用程序是其中的一种应用程序。 Pop3协议是一种电子邮件协议,用于从远程服务器上获取电子邮件。使用pop3协议应用程序可以连接到邮件服务器上的pop3端口,获取到存储在服务器上的邮件。通过pop3协议应用程序可以获取邮件的主题、发件人、收件人、正文等信息,并且可以将获取到的邮件缓存到本地计算机上。 SMTP协议是一种电子邮件协议,用于将电子邮件传递到远程服务器上。使用smtp协议应用程序可以连接到邮件服务器上的smtp端口,将需要发送的邮件发送到服务器上。通过smtp协议应用程序可以将邮件发送给多个收件人,并且可以添加附件、抄送、密送等功能。 基于pop3和smtp协议邮件收发应用程序可以实现邮件的在线收发、邮件的过滤、自动回复等功能。比如,用户可以通过这种应用程序将自己的邮件同步到不同的设备上,方便用户在不同设备之间进行邮件通讯。同时,邮件过滤功能可以帮助用户对垃圾邮件进行自动过滤,避免因垃圾邮件带来的骚扰和时间浪费。自动回复功能可以帮助用户在繁忙的工作中提高工作效率,避免因忙碌而错失重要的邮件。 总之,基于pop3和smtp协议邮件收发应用程序可以帮助用户方便快捷地管理自己的邮件,提高工作效率,并且可以通过邮件通讯与他人进行沟通和交流。 ### 回答3: 随着互联网的普及,电子邮件作为一种必要的通信工具,已经被广泛地应用到各个领域。在日常生活和工作中,我们使用电子邮件收发邮件已经成为一种习惯。电子邮件涉及到多种协议,其中POP3和SMTP协议邮件收发的核心协议。 基于POP3协议邮件收取应用程序,可以实现邮件的接收功能。POP3是邮局协议的缩写,其作用是接收用户在邮件服务器上的邮件。在收取邮件时,邮件客户端向邮件服务器发送请求,服务器响应请求并将邮件传输到客户端。POP3协议通过TCP协议传输数据,使用110端口。POP3协议的特点是将所有邮件下载到本地,用户可以对邮件进行管理,例如标记已读、删除、归档等操作。 基于SMTP协议邮件发送应用程序,可以实现邮件的发送功能。SMTP是简单邮件传输协议的缩写,其作用是将用户在邮件客户端上编写的邮件发送到邮件服务器。SMTP协议通过TCP协议传输数据,使用25端口。SMTP协议的特点是将邮件发送到服务器后,由服务器转发到其他邮件服务器,最终到达接收方。SMTP协议需要认证用户身份,确保发送者身份的安全。同时,SMTP协议还支持多种附件格式,例如文本、图片、音频、视频等。 邮件收发应用程序是一种基于网络应用程序,能够帮助我们快速高效地收发邮件。在实现这种应用程序时,我们需要掌握POP3和SMTP协议的工作原理和使用方法。除此之外,还需要考虑安全性、稳定性以及易用性等因素。通过不断地优化和改进,我们可以开发出更加高效、稳定、安全的邮件收发应用程序,为用户提供更好的服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值