一:基本概念

电子邮件(E-mail)是目前Internet上使用最频繁的服务之一。电子邮件是以电子方式发送传递的邮件。只要通信双方都有电子邮件地址,便可以电子传播为媒介,交互邮件。Internet上电子邮件系统采用客户机/服务器模式,信件的传输通过相应的软件来实现,这些软件要遵循有关的邮件传输协议。

电子邮件系统的基本组成:

  • UA(User Agent,用户代理):该客户端软件用来编写、显示、与本地邮件服务器的通信(发送/接受邮件)。如:Outlook Express, Foxmail等。
  • MTA(Message Transfer Agent,消息传输代理):该服务器软件用来传递信件,向发件人报告邮件传送情况(已交付、被拒绝、丢失等)。如:Microsoft exchange Server,Sandmail等。

传送电子邮件时使用的协议:

  • 简单邮件传输协议(Simple Mail Transport Protocol,SMTP):用于电子邮件发送服务,也即用于MTA之间以及UA向MTA传输邮件。
  • 邮局协议(Post Office Protocol,POP),用于电子邮件接收服务,也即用于收件人从本地邮件服务器中读取邮件。
  • 还有其他的通信协议,在功能上它们与上述协议是相同的。

电子邮件地址:

  • 用户在Internet上收发电子邮件时,必须拥有一个电子信箱(Mailbox),而每个电子信箱有一个唯一的地址,通常称为电子邮件地址(E-mail Addresses)。
  • E-mail地址由两部分组成,以符号“@”分隔,“@”前面的部分是用户名,“@”后面的部分为邮件服务器的域名,如E-Mail地址“yuqi.fan@qq.com”中,“yuqi.fan”是用户名,“qq.com”为网易的邮件服务器的域名。

电子邮件工具:

  • 电子邮件应用程序很多,常见的有Foxmail、Outlook等。

二:SMTP命令和传递邮件过程

SMTP命令:

  • SMTP是目前使用最广泛的邮件传输协议,该协议基于TCP和C/S方式,服务器端口号为25。
  • SMTP发送E-mail的基本思想是接收端(即服务器)在TCP的25号端口等待发送端的信息,发送端向接收端发出连接请求,一旦连接成功,即进行邮件信息的交换,邮件传递结束后释放连接。
  • 由于SMTP使用客户机/服务器方式,因此负责发送邮件的SMTP进程就是SMTP客户,而负责接收邮件的SMTP进程就是SMTP服务器。
  • SMTP提供了这样一种邮件传输机制
    • 当收件方和发件方都在同一个网络上时,可以将邮件直接传送给对方;
    • 当对方不在同一个网络上时,需要通过一个或者几个中间服务器来进行转发SMTP。

SMTP传递邮件过程:

  • 首先由发件方提出申请,要求与接收方SMTP建立双向通信渠道,收件方可以是最终收件人,也可以是中间转发服务器
  • 收件方服务器确认可以建立连接以后,双方就可以开始通信了,发件方SMTP向收件方SMTP发出MAIL命令,告知发件方的身份,如果收件方接收,就回答OK。
  • 发件方再发出RCPT命令,告知收件人的身份,收件方SMTP确认是否接收或转发,如果同意,就回答OK,接下来就可以进行数据传输了
  • 在通信过程中,发件方SMTP与收件方SMTP采用对话式交互方式,即发件方提出要求,收件方进行确认,确认以后才进行下一步的动作,整个过程由发件方控制,有时需要确认几回才能够实现。

SMTP面向字符,包括14条命令和21种应答组成,常用命令如下:

SMTP传递邮件过程:

三:电子邮件的信息格式

  • 一个电子邮件分为信封和内容两大部分。
  • RFC 822只规定了邮件内容中的首部(header)格式,而对邮件的主体(body)部分则让用户自由撰写。
  • 邮件内容首部包括一些关键字,后面加上冒号。最重要的关键字是:To和Subject。
    • “To:”后面填入一个或多个收信人的电子邮件地址。用户只需打开地址簿,点击收信人名字,收信人的电子邮件地址就会自动填入到合适的位置上。
    • “Subject:”是邮件的主题。它反映了邮件的主要内容,便于用户查找邮件。
    • “抄送:”表示应给某某人发送一个邮件副本。
    • “From:”和“Date:”表示发信人的电子邮件地址和发信日期。
    • “Reply-To:”是对方回信所用的地址。

四:POP3命令和读取邮件过程

  • POP主要用于电子邮件的接收,使用TCP的110端口。POP也使用客户机/服务器的工作方式。在接收邮件的用户 PC 机中必须运行 POP 客户程序,而在用户所连接的ISP邮件服务器中则运行 POP 服务器程序。
  • POP是一个非常简单、但功能有限的邮件读取协议,现在使用的是它的第三个版本 POP3( RFC1939 )。
  • 当客户机需要服务时,客户端的软件(比如Outlook或Foxmail),将与POP3服务器建立TCP连接。
  • 此后,需要经过POP3协议的三种工作状态:
    • 认证过程,确认客户机提供的用户名和密码;
    • 处理状态,用户在该状态下可以收取自己的邮件或者删除邮件;
    • 客户机发出QUIT命令,此后进入更新状态,将做了删除标记的邮件从服务器删除。

POP3常用命令如下:

五:IMAP

  • 交互式邮件存取协议(Internet Message Access Protocol,IMAP)也是按客户机/服务器方式工作,现在较新的版本是IMAP4。
  • 用户在自己的主机上就可以操纵 ISP 邮件服务器的邮箱,就像在本地操纵一样。因此 IMAP 是一个联机协议。当用户的 IMAP 客户程序打开 IMAP 服务器的邮箱时,就可看到邮件的首部。若需要打开某个邮件,则该邮件才传到用户的计算机上。
  • IMAP最大的好处就是用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件。
  • IMAP 还允许收信人只读取邮件中的某一个部分。例如,收到了一个带有视像附件(此文件可能很大)的邮件。为了节省时间,可以先下载邮件的正文部分,待以后有时间再读取或下载这个很长的附件。
  • IMAP 的缺点是如果用户没有将邮件复制到自己的 PC机上,则邮件一直存放在 IMAP 服务器上。因此用户需要经常与 IMAP 服务器建立连接。

IMAP4是IMAP的最新版本,其主要特征包括:
(1)与因特网消息标准完全兼容;
(2)许多计算机可以同时访问和管理邮件;
(3)允许通过低效率的文件访问协议来进行访问;
(4)提供对在线、离线以及无连接三种访问方式的支持;
(5)支持共享邮箱的并发访问;
(6)客户端软件不需要了解服务器上的文件存储格式。

必须注意的是不要将邮件读取协议POP或IMAP与邮件传送协议 SMTP弄混。

  • 发信人的用户代理向源邮件服务器发送邮件,以及源邮件服务器向目的邮件服务器发送邮件,都是使用SMTP 协议。
  • POP协议或IMAP协议则是用户从目的邮件服务器上读取邮件所使用的协议。

SMTP有以下缺点:

  • (1)SMTP不能传送可执行文件或其他的二进制对象。
  • (2)SMTP限于传送7位的ASCII码。许多其他非英语国家的文字(如中文、俄文,甚至带重音符号的法文或德文)就无法传送。
  • (3)SMTP 服务器会拒绝超过一定长度的邮件。
  • (4)某些SMTP的实现并没有完全按照RFC 821的SMTP 标准。

六:通用因特网邮件扩充MIME

  • MIME没有改动SMTP或取代SMTP 。
  • MIME继续使用目前的RFC 822格式,但增加了邮件主体的结构,并定义了传送非ASCII 码的编码规则。
  • MIME协议说明了如何安排消息格式使消息可以在不同邮件系统内进行交换,MIME格式灵活,它允许邮件中包含任意类型的文件,可以包含文本、图像、声音、视频以及其他应用程序的特定数据。

三种常用的内容传送编码(Content-Transfer-Encoding):

  • (1)最简单的编码就是7位ASCII码,而每行不能超过1000 个字符。MIME 对这种由 ASCII 码构成的邮件主体不进行任何转换。
  • (2)另一种编码称为quoted-printable,这种编码方法适用于当所传送的数据中只有少量的非ASCII码的情况。
  • (3)对于任意的二进制文件,可用base64编码。

MIME的标准规定Content-Type说明必须含有两个标识符,即内容类型(type)和子类型(subtype),中间用“/”分开。MIME 标准定义了7种基本内容类型和 15 种子类型。除了内容类型和子类型,还允许发信人和收信人自己定义专用的内容类型。

如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:瞳孔的个人空间

计算机网络——应用层之电子邮件(E-mail)相关推荐

  1. 考研—计算机网络—应用层

    考研-计算机网络-应用层 两种模型--网络应用模型 1)客户/服务器模型 服务器是一个总是打开的主机,用来服务客户机. 客户是服务请求方,服务器是服务提供方. C/S模式应用包括:Web.文件传输FT ...

  2. 基础知识-计算机网络-应用层

    基础知识-计算机网络-应用层 1 应用层协议原理 1.1 网络应用程序体系结构 1.2 进程通信 1.3 应用层协议 1.4应用程序所需要的服务(运输服务) 1.5 因特网运输协议提供的服务 2 We ...

  3. 计算机网络应用层课后习题练习(一)

    计算机网络应用层课后习题练习 应用层知识点概览 课后练习(一) 应用层知识点概览 域名系统DNS 文件传送协议FTP和TFTP 远程终端协议TELNET 万维网WWW 电子邮件SMTP/POP3/IM ...

  4. 计算机网络--应用层Web简单介绍

    计算机网络养成:第六天 内容导航 计算机网络养成:第六天 学习内容 Web and HTTP URL (Uniform Resource Locator)统一资源定位符 HTTP概况[hype tex ...

  5. 应用层:电子邮件、MIME、SMTP协议、POP3协议

    应用层:电子邮件.MIME.SMTP协议.POP3协议 1 邮件发送与接收 1.1 邮件发送和接收的具体过程 2 简单邮件传送协议SMTP工作原理 3 电子邮件信息格式 4 MIME 5 邮件读取协议 ...

  6. 计算机网络 应用层 电子邮件协议:SMTP、POP3、IMAP

    因特网中的电子邮件 因特网电子邮件系统有3个主要组成部分:用户代理.邮件服务器.简单邮件传输协议(SMTP). 用户代理:允许用户阅读.回复.转发.保存和撰写报文. 邮件服务器:每个接收方在其中的某个 ...

  7. 计算机网络——应用层(http、SMTP、DNS)

    目录 一.应用层协议原理: 1.网络应用程序体系结构: 1.1 客户-服务器体系: 1.2 P2P体系结构: 2.进程通信: 2.1基本了解: 2.2客户-服务器进程: 2.3进程与计算机网络之间的接 ...

  8. 第二章 计算机网络应用层详解

    文章目录 一.应用层协议原理 网络应用程序体系结构 进程通信 客户和服务器进程 进程与计算机网络之间的接口 进程寻址 可供应用程序的运输服务 可靠数据传输 吞吐量 定时 安全性 因特网的运输服务 TC ...

  9. 计算机网络应用层协议分析总结

    1.应用层协议原理 1.1.网络应用程序体系结构 C/S结构,有一个总是打开的主机称为服务器,它服务于来自许多其他称为客户机的主机请求.客户机主机既可能有时打开,也可能总是打开.C/S结构之下,客户机 ...

最新文章

  1. cnpm install -g generator-gulp-webapp yo gulp-webapp test-gulp-webapp
  2. [QA]Python字节码优化问题
  3. Spark详解(五):Spark作业执行原理
  4. ES6学习笔记(十六)async函数
  5. sqlalchemy mysql配置中怎么设置utf8_在SqlAlchemy中,我想要一个列是UTF8?
  6. NBA理性分析:30年最强夺冠阵容
  7. 网页优化系列三:使用压缩后置viewstate
  8. 在Win10 LTSC 2019上安装和卸载linux子系统
  9. 浅析toString与valueOf
  10. 2021 五一数学建模 赛题思路
  11. Tif格式图片的读取与保存
  12. pdfpcell输出换行_fpdf 的cell 中文自动换行问题
  13. Vue强制刷新页面重新加载数据方法
  14. android手机怎么上卡,安卓手机卡慢怎么办 安卓手机卡慢解决方案【详解】
  15. keil v5 No Ulink2/Me Device Found 的解决方法
  16. 海思HI3516 MIPI屏幕调试笔记
  17. 怎样学习计算机语言?
  18. Vmare安装使用教程
  19. 什么是神经网络,它们是如何工作的?(神经网络架构基本指南)
  20. wro4j和maven plugin在编译期间压缩静态资源

热门文章

  1. 基于SSM在线服装商城购物网站设计
  2. uri (url)保存为jpg图片(文件)
  3. centos 7安装部署 单节点 Elasticsearch 6.6.0
  4. python中的global是什么意思_Python中的global关键字,你了解吗?
  5. Java 模拟面试题
  6. 分组器及事前控制相关系统介绍
  7. MySQL实战开发技巧
  8. 【原创】2009年太白山穿越
  9. Python利用Twitter API根据tweet id抓取tweet(via tweepy/twython)
  10. mfc实现c语言的注释,C语言学习:标识符、关键字、注释、表达式和语句