文章目录

  • 0.思维导图
  • 1.电子邮件的信息格式
  • 2.电子邮件系统的组成结构
  • 3.电子邮件协议
    • (1)SMTP
      • MIME---多用途网络邮件扩充
    • (2)POP3
      • IMAP---因特网报文存取协议
    • (3)万维网的电子邮件

0.思维导图

1.电子邮件的信息格式

  • 一个电子邮件分为信封和内容两大部分,邮件内容分为首部和主体两部分。
  • RFC 822规定了邮件的首部格式,而邮件的主体部分则让用户自由撰写。
  • 用户写好首部后,邮件系统自动地将信封所需的信息提取出来并写在信封上,用户不需要亲自填写信封上的信息。
  • 邮件内容的首部包含一些首部行每个首部行由一个关键字后跟冒号再后跟值组成。有些关键字是必需的,有些则是可选的。最重要的关键字是To:和Subject。
  • To是必需的关键字,后面填入一个或多个收件人的电子邮件地址。
    电子邮件地址的规定格式为:收件人邮箱名@邮箱所在主机的域名
    如abc@cskaoyan.com,其中收信人邮箱名即用户名,abc在cskaoyan.com这个邮件服务器上必须是唯一的 。这也就保证了abc@cskaoyan.com 这个邮件
    地址在整个因特网上是唯一的。
  • Subject是可选关键字,是邮件的主题,反映了邮件的主要内容。
  • 还有一个必填的关键字是From,但它通常由邮件系统自动填入。
  • 首部与主体之间用一个空行进行分割。典型的邮件内容如下:

2.电子邮件系统的组成结构

  • 电子邮件是一种异步通信方式,通信时不需要双方同时在场。
  • 电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱中,收件人可以随时上网到自己使用的邮件服务器进行读取。

  • 一个 电子邮件系统应具有三个最主要的组成构件:
    用户代理(User Agent)
    邮件服务器
    电子邮件使用的协议,如SMTP、POP3 (或IMAP)等。

用户代理(UA):用户与电子邮件系统的接口。

  • 用户代理使用户能够通过一个很友好的接口发送和接收邮件,用户代理至少应当具有撰写、显示和邮件处理的功能。
  • 通常情况下,用户代理就是一个运行在PC.上的程序,常见的有Outlook、Foxmail 和Thunderbird等。

邮件服务器:组成电子邮件系统的核心。

  • 邮件服务器的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝、丢失等)。
  • 邮件服务器采用客户/服务器方式工作,但它能够同时充当客户和服务器。
  • 例如,当邮件服务器A向邮件服务器B发送邮件时,A就作为SMTP客户,而B是SMTP服务器;反之,当B向A发送邮件时,B就是SMTP客户,而A就是SMTP服务器。

邮件发送协议和读取协议:

  • 邮件发送协议用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件,通常使用的是SMTP;
  • 邮件读取协议用于用户代理从邮件服务器读取邮件,如POP3
  • SMTP采用的是“推”(Push)的通信方式,即在用户代理向邮件服务器发送邮件及在邮件服务器之间发送邮件时,SMTP客户端主动将邮件“推”送到SMTP服务器端。
  • POP3采用的是“拉”(Pull)的通信方式,即用户读取邮件时,用户代理向邮件服务器发出请求,“拉”取用户邮箱中的邮件。

3.电子邮件协议

(1)SMTP

(1)连接建立

  • 发件人的邮件发送到发送方邮件服务器的邮件缓存中后,SMTP客户就每隔一定 时间对邮件缓存扫描一次。
    如发现有邮件,就使用SMTP的熟知端口号(25) 与接收方邮件服务器的SMTP服务器建立TCP连接。
  • 连接建立后,接收方SMTP服务器发出220 Service ready (服务就绪)。然后SMTP客户向SMTP服务器发送HELO命令,附上发送方的主机名。
  • SMTP不使用中间邮件服务器。
    TCP连接总是在发送方和接收方这两个邮件服务器之间直接建立,而不管它们相隔多远。
    接收方的邮件服务器因故障暂时不能建立连接时,发送方的邮件服务器只能等待一段时间后再次尝试连接。

(2)邮件传送

  • 连接建立后,就可开始传送邮件。邮件的传送从MAIL命令开始,MAIL 命令后面有发件人的地址。如MAIL FROM: hoopdog@hust.edu.cn。
  • 若SMTP服务器已准备好接收邮件,则回答250 OK。
  • 接着SMTP客户端发送一个或多个RCPT (收件人recipient的缩写)命令,格式为RCPTTO: <收件人地址>。
    每发送一个 RCPT命令,都应有相应的信息从SMTP服务器返回,如250 OK或550 No such user here (无此用户)。
    RCPT命令的作用是,先弄清接收方系统是否已做好接收邮件的准备,然后才发送邮件,以便不至于发送了很长的邮件后才知道地址错误,进而避免浪费通信资源。
  • 获得0K的回答后,客户端就使用DATA命令,表示要开始传输邮件的内容。
    正常情况下,SMTP服务器回复信息是354 Start mail input; end with . 。表示回车换行。此时SMTP客户端就可开始传送邮件内容,并用. (两个回车,中间一个点)表示邮件内容的结束。

(3)连接释放

  • 邮件发送完毕后,SMTP客户应发送QUIT命令。
  • SMTP服务器返回的信息是221 (服务关闭),表示SMTP同意释放TCP连接。邮件传送的全部过程就此结束。

MIME—多用途网络邮件扩充

  • 由于SMTP只能传送一定长度的ASCII码,许多其他非英语国家的文字(如中文、俄文,甚至带重音符号的法文或德文)就无法传送,且无法传送可执行文件及其他二进制对象,因此提出了多用途网络邮件扩充( Multipurpose Internet MailExtensions,MIME)。
  • MIME并未改动SMTP或取代它。MIME的意图是继续使用目前的格式,但增加了邮件主体的结构,并定义了传送非ASCII码的编码规则。也就是说,MIME邮件可在现有的电子邮件程序和协议下传送。MIME与SMTP的关系如图

MIME主要包括以下三部分内容:

  • ①5个新的邮件首部字段,包括MIME版本、内容 描述、内容标识、内容传送编码和内容类型。
  • ②定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。
  • ③定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变。

(2)POP3

  • 邮局协议( Post Office Protocol, POP) 是一个非常简单但功能有限的邮件读取协议,现在使用的是它的第3个版本POP3。
  • POP3 采用的是“拉”(Pull)的通信方式,当用户读取邮件时,用户代理向邮件服务器发出请求,“拉”取用户邮箱中的邮件。
  • POP也使用客户/服务器的工作方式,在传输层使用TCP,端口号为110。接收方的用户代理上必须运行POP客户程序,而接收方的邮件服务器上则运行POP服务器程序。
  • POP有两种工作方式:“下载并保留”和“下载并删除”。
    “下载并保留”方式下,用户从邮件服务器上读取邮件后,邮件依然会保存在邮件服务器上,用户可再次从服务器上读取该邮件;
    使用“下载并删除”方式时,邮件一旦被读取,就被从邮件服务器上删除,用户不能再次从服务器上读取。

IMAP—因特网报文存取协议

  • 另一个邮件接收协议是因特网报文存取协议(IMAP),它比POP复杂得多,IMAP为用户提供了创建文件夹、在不同文件夹之间移动邮件及在远程文件夹中查询邮件的命令,为此IMAP服务器维护了会话用户的状态信息
  • IMAP的另一特性是允许用户代理只获取报文的某些部分,例如可以只读取一个报文的首部,或一个多部分MIME报文的一部分。这非常适用于低带宽的情况,用户可能并不想取回邮箱中的所有邮件,尤其是包含很多音频或视频的大邮件。

(3)万维网的电子邮件

  • 随着万维网的流行,目前出现了很多基于万维网的电子邮件,如Hotmail、Gmail 等。
  • 这种电子邮件的特点是,用户浏览器与Hotmail或Gmail的邮件服务器之间的邮件发送或接收使用的是HTTP,而仅在不同邮件服务器之间传送邮件时才使用SMTP.

参考:《王道计算机网络原理》

6.4 你真的了解电子邮件系统的组成和结构吗?(SMTP、POP3、IMAP、MIME……)相关推荐

  1. extmail电子邮件系统

    Extmail电子邮件系统搭建 一.结构图 二.搭建过程 1.安装需要的软甲包 [root@ahao1 ~]# yuminstall httpd     mysql  mysql-server mys ...

  2. 搭建基于虚拟账号的电子邮件系统

    使用postfix,cyrus-sasl,courier-authlib,mysql,dovecot,extmail,extman搭建电子邮件系统,可以使用web方式以虚拟账号注册登录邮箱,并且发送接 ...

  3. FTP协议、电子邮件系统与Telnet远程控制

    一.FTP协议概述 FTP定义 文件传输协议 用于因特网文件传输 FTP特性 使用客户端/服务器模式 使用TCP提供可靠的传输 FTP属于维护状态的协议 FTP使用两条TCP连接完成数据传输 FTP的 ...

  4. FTP协议、电子邮件系统、Telnet远程控制

    一.FTP协议 FTP定义 文件传输协议(File Transfer Protocol) 用于因特网文件传输(RFC 959) FTP特性 使用客户端/服务器模式 使用TCP提供可靠的传输 FTP属于 ...

  5. 完全揭秘***利用漏洞***电子邮件系统

    在不断公布的漏洞通报中,邮件系统的漏洞该算最普遍的一项.***常常利用电子邮件系统的漏洞,结合简单的工具就能达到***目的.电子邮件究竟有哪些潜在的风险?***在邮件上到底都做了哪些手脚?一同走进** ...

  6. 2022企业电子邮件在哪里找,企业电子邮件系统哪个安全?

    随着企业邮箱的普及,网上乱飞的广告逐渐增多,企业电子邮件在哪里找?什么电子邮件系统才算是好用的. 企业电子邮件是什么? 企业电子邮件,是用自定义名字的邮箱,前缀后缀域名都可自定义.企业内每个人都有一个 ...

  7. vps php mail,TMail v5.2 – PHP多域名临时电子邮件系统

    释放双眼,带上耳机,听听看~! 源码简介 TMail是一个一次性电子邮件系统,可以在自己的主机上进行托管. 您只需要几个常见的PHP扩展和IMAP服务就可以使用这个源码. 安装使用相对比较简单. 源码 ...

  8. 什么是电子邮件系统?电子邮箱的格式是什么?怎样注册163邮箱呢

    在工作中,我们用到的电子邮箱是比较多的,如TOM邮箱,平时收发邮件都需要我们会用到邮箱,那你知道什么是电子邮件系统吗?当我们发送邮件时邮箱格式不要忘记,电子邮箱格式是什么?如何注册邮箱呢?一起看看吧! ...

  9. 电子邮件系统哪个好?分享2022电子邮件系统排名大全及主要功能

    人生走过的每一条路或者作出的每一个选择都会成为生活中的经验.学校,实习,职场-人生就像一场旅程,旅程中有美好的风景也有些许的"经验". 进入职场,首先需要考虑电子邮件系统用哪个好? ...

最新文章

  1. cygwin用命令安装软件_软件安装、命令行、Github
  2. C语言经典例97-输入字符写入文件
  3. 【问链财经-区块链基础知识系列】 第四十一课 中外银行跨境业务运用区块链技术创新案例对比
  4. Keyword-Driven Testing
  5. Windows CE下驱动程序开发基础
  6. 基础编程题目集 7-3 逆序的三位数 (10 分)
  7. Visual Studio 2013旗舰版KEY
  8. @程序员,入门爬虫看这一篇就够了!
  9. dynamix判定_Dynamix
  10. 三菱modbusRTU通讯实例_modbus通讯协议详解 | 每位工控人都应该了解
  11. weblogic部署war包
  12. 模糊c-均值聚类算法(FCM)
  13. 什么是云计算,什么是网格计算,两者之间有什么区别?
  14. java删除奇数文件_P041 删除ASCII值为奇数的字符 ★★
  15. python windows下载哪个_初识Python(windows)——下载、安装、使用
  16. Linux dns劫持程序,linux的dns被劫持(解决方案)
  17. C盘太满怎么办? 这些文件可以放心删除!
  18. joj level 3 wp
  19. JavaScript中document的用法
  20. UG NX二次开发(C#)-CAM-加工模板、程序、方法、刀具和几何体的读取

热门文章

  1. 解决manjaro更新后pacman: error while loading shared libraries
  2. 业界 | 裁判太嚣张?平昌之后,奥运会评分系统将引入AI技术
  3. ECMALL数据库关系模型的实现
  4. CF 277.5 B.BerSU Ball 二分图的最大匹配 模版题
  5. ubuntu忘记root密码解决
  6. NHibernate简介
  7. 2020 操作系统第零天复习(知识点总结)
  8. 详细介绍注解@ConfigurationProperties使用
  9. 数据库查询新增一列默认值
  10. reactjs定义组件:函数式组件