电子邮件概述

  • 电子邮件 (e-mail):指使用电子设备交换的邮件及其方法。
  • 电子邮件是互联网上使用得最多的和最受用户欢迎的一种应用。
  • 优点:使用方便,传递迅速,费用低廉,可以传送多种类型的信息(包括:文字信息,声音和图像等)。

电子邮件的重要标准

  • 简单邮件发送协议:SMTP
  • 互联网文本报文格式
  • 通用互联网邮件扩充 MIME
  • 邮件读取协议:POP3 和 IMAP

电子邮件的组成:三个主要构件

用户代理,邮件服务器,以及邮件发送和读取协议。

用户代理 UA (User Agent)

  • 用户代理 UA 就是用户与电子邮件系统的接口,是电子邮件客户端软件。
  • 用户代理的功能:撰写、显示、处理和通信。
  • 邮件服务器的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝、丢失等)。
  • 邮件服务器按照客户 - 服务器方式工作。邮件服务器需要使用发送和读取两个不同的协议。

用户与电子邮件系统的接口。又被称为电子邮件客户端软件
基本功能:撰写、显示、处理和通信。

邮件服务器 (Mail Server)

  • 又被称为邮件传输代理
  • 功能:发送和接收邮件,同时还要向发信人报告邮件传送的情况。
  • 按照客户 – 服务器方式工作。
  • 在发送和读取邮件时使用两个不同的协议:SMTP,POP3。


邮件发送和读取协议

  • 邮件发送和读取使用不同的协议协议。
  • 简单邮件发送协议 SMTP:用于在用户代理向邮件服务器或邮件服务器之间发送邮件。
  • 邮局协议 POP3:用于用户代理从邮件服务器读取邮件。

应当注意

  • 一个邮件服务器既可以作为客户,也可以作为服务器。
  • 例如,当邮件服务器 A 向另一个邮件服务器 B 发送邮件时,邮件服务器 A 就作为 SMTP 客户,而 B 是 SMTP 服务器。
  • 当邮件服务器 A 从另一个邮件服务器 B 接收邮件时,邮件服务器 A 就作为 SMTP 服务器,而 B 是 SMTP 客户。

邮件服务器必须能够同时充当客户和服务器。
SMTP和POP3(或IMAP)都是使用TCP连接来传送邮件的,目的是为了可靠地传送邮件。

电子邮件的最主要的组成构件


注意:邮件不会在互联网中的某个中间邮件服务器落地。

发送和接收电子邮件的几个重要步骤

  1. 发件人调用 PC 中的用户代理撰写和编辑要发送的邮件。
  2. 发件人的用户代理把邮件用 SMTP 协议发给发送方邮件服务器。
  3. SMTP 服务器把邮件临时存放在邮件缓存队列中,等待发送。
  4. 发送方邮件服务器的 SMTP 客户与接收方邮件服务器的 SMTP 服务器建立 TCP 连接,然后就把邮件缓存队列中的邮件依次发送出去。
  5. 运行在接收方邮件服务器中的SMTP服务器进 程收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人进行读取。
  6. 收件人在打算收信时,就运行PC机中的用户代理,使用POP3(或 IMAP)协议读取发送给自己的邮件。

电子邮件的组成

  • 电子邮件由信封 (envelope) 和内容 (content) 两部分组成。
  • 电子邮件的传输程序根据邮件信封上的信息来传送邮件。用户在从自己的邮箱中读取邮件时才能见到邮件的内容。
  • 在邮件的信封上,最重要的就是收件人的地址。

电子邮件地址的格式

  • TCP/IP 体系的电子邮件系统规定电子邮件地址的格式如下:
    收件人邮箱名@邮箱所在主机的域名
  • 符号“@”读作“at”,表示“在”的意思。

简单邮件传送协议 SMTP

  • SMTP 规定了在两个相互通信的 SMTP 进程交换信息的方法。
  • SMTP 使用客户–服务器方式。
  • SMTP 基于 TCP 实现客户与服务器的通信。
  • SMTP 是一个基于文本的 (即 ASCII 码) 的协议。
  • SMTP 客户与服务器之间采用命令-响应方式进行交互。

SMTP 基于 TCP 实现客户与服务器之间的通信。

SMTP 通信的三个阶段

  1. 连接建立:连接是在发送主机的 SMTP 客户和接收主机的 SMTP 服务器之间建立的。SMTP不使用中间的邮件服务器。
  2. 邮件传送
  3. 连接释放:邮件发送完毕后,SMTP 应释放 TCP 连接。

连接建立

邮件传送

连接释放

电子邮件的信息格式

  • 一个电子邮件分为信封和内容两大部分。
  • RFC 5322 只规定了邮件内容中的首部 (header) 格式,而对邮件的主体 (body) 部分则让用户自由撰写。

邮件内容的首部

  • To:” 后面填入一个或多个收件人的电子邮件地址。用户只需打开地址簿,点击收件人名字,收件人的电子邮件地址就会自动地填入到合适的位置上。
  • Subject:” 是邮件的主题。它反映了邮件的主要内容,便于用户查找邮件。
  • Cc:” 表示应给某某人发送一个邮件副本。
  • From” 和 “Date” 表示发信人的电子邮件地址和发信日期。
  • Reply-To” 是对方回信所用的地址。

邮件读取协议 POP3 和 IMAP

  • 两个常用的邮件读取协议:
  1. POP3:邮局协议 (Post Office Protocol) 第3个版本
  2. IMAP:网际报文存取协议 (Internet Message Access Protocol)
  • POP3 使用客户–服务器方式。
  • POP3 基于TCP实现客户与服务器的通信。
  • POP3 支持用户鉴别。
  • POP3 服务器删除被用户读取了的邮件。

  • IMAP 使用客户–服务器方式。
  • IMAP 基于TCP实现客户与服务器的通信。
  • IMAP是一个联机协议。

IMAP 的特点

  • 连接后只下载邮件首部(部分下载)。
  • 用户直接在IMAP服务器上创建和管理文件夹。
  • 用户可以搜索邮件内容。
  • 用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件。
  • 允许收信人只读取邮件中的某一个部分。
  • 缺点:要想查阅邮件,必须先联网。

IMAP 与 POP3 比较


必须注意

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

基于万维网的电子邮件

用户代理 (UA) 的缺点

  • 必须在计算机中安装用户代理软件。
  • 但可能不能安装或不允许安装。
  • 因此,不方便收发邮件。

万维网电子邮件优点

不需要在计算机中再安装用户代理软件。
计算机能联网,就能非常方便地收发电子邮件。
电子邮件界面非常友好。

万维网电子邮件

  • 发送、接收电子邮件时使用 HTTP 协议。
  • 两个邮件服务器之间传送邮件时使用 SMTP。


通用互联网邮件扩充 MIME

SMTP 有以下缺点:

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

MIME 概述

  • 通用互联网邮件扩充 MIME 并没有改动 SMTP 或取代它。
  • MIME 的意图是继续使用目前的 [RFC 822] 格式,但增加了邮件主体的结构,并定义了传送非 ASCII 码的编码规则

MIME 和 SMTP 的关系

MIME 主要包括三个部分

  • 5 个新的邮件首部字段,它们可包含在原有首部中。这些字段提供了有关邮件主体的信息。
  • 定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。
  • 定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变。

MIME 增加 5 个新的邮件首部

内容传送编码(Content-Transfer-Encoding)

Quoted-printable 编码
适用于所传送的数据中只有少量的非 ASCII 码的情况。

Base64 编码
适合任意长度的二进制数据。编码表如下:
(用两个连在一起的二个等号“==”和一个等号“=”分别表示最后一组的代码只有8位或16位。


内容类型

  • MIME 着标准规定 Content-Type 说明必须含有两个标识符,即内容类型(type)和子类型(subtype),中间用“/”分开。
  • MIME 标准原先定义了 7 个基本内容类型和 15 种子类型。
  • MIME允许发件人和收件人自己定义专用的内容类型。但为避免可能出现名字冲突,标准要求为专用的内容类型选择的名字要以字符串 X-开始。

MIME Content-Type 说明中的类型及子类型

MIME 举例

计算机网络 电子邮件相关推荐

  1. 计算机网络——电子邮件客户端程序设计与实现

    计算机网络--电子邮件客户端程序设计与实现 一.实验目的 二.总体设计 1. 基本原理 2. 设计步骤 (1)发送邮件 (2)查看邮件 三.详细设计 1. 程序流程图 (1)发送邮件 (2)查看邮件 ...

  2. 计算机网络——电子邮件

    电子邮件是在计算机上书写.编辑一个邮件,通过Internet传递到网络的邮件服务器上,对方通过连到Internet上的计算机接收.阅读.处理这个邮件.电子邮件服务器(E-mail服务器)是四大网络服务 ...

  3. 计算机网络电子邮件的格式,计算机网络基础之申请电子邮箱

    电子邮箱 计算机网络基础知识 之申请电子邮箱 电子邮件 就是 Email,也可以叫邮箱.Email(Electronic Mail,电子邮件)是Internet上的重要信息服务方式.它为世界各地的 I ...

  4. 电子邮件服务建设计算机网络,内蒙古师范大学校园计算机网络电子邮件使用管理规定...

    内蒙古师范大学校园网电子邮件系统是学校为满足我校师生的教学.科研.管理.学习需要建设的电子邮件服务应用系统.为了保证电子邮件系统的安全运行,净化互联网环境,保护广大师生的信息安全,制定此管理规定. 1 ...

  5. 计算机网络--电子邮件传输协议(SMTP POP3 IMAP)

    电子邮件传输协议详解 1.邮件传输系统的运行机制 邮件传输系统包含主要的三个部分:用户代理.邮件服务器和相关的邮件传输协议. 用户代理是客户端,功能是向服务器发送用户的邮件或者从服务器接收用户的邮件. ...

  6. 计算机网络--- 电子邮件

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

  7. 川大计算机文化基础在线作业,川大1309《计算机文化基础0008》在线作业2答案.docx...

    川大 13 秋<计算机文化基础 0008>在线作业 2 答案 试卷得分: 100 测试时间: 2014年 1月 7日 (答案在末尾) 一.单选题(共 50道试题,共100分o ) V 1. ...

  8. 计算机安全工作领导小组会议讲话,郑福田副校长在网络信息与网络安全工作会议上的讲话...

    编者按:2004年3月31日下午,学校召开了全校网络信息与网络安全工作会议,各单位党政主要负责人参加了会议,会上,郑福田副校长就学校的"网络信息与网络安全工作"发表重要讲话,现将讲 ...

  9. 【计算机网络】应用层 : 总结 ( 网络应用模型 C/S P2P | 域名解析 DNS | 文件传输协议 FTP | 电子邮件 | 万维网 与 HTTP ) ★★★

    文章目录 一.网络应用模型 ★ 二.域名解析过程 ★ 三.FTP 文件传输协议 四.电子邮件★ 五.万维网 和 HTTP 协议★ 一.网络应用模型 ★ 网络应用模型 : ① 客户 / 服务器 模型 ( ...

  10. 计算机网络课程设计之电子邮件客户端程序设计与实现

    前言 本实验主要是用smtp协议发邮件,收邮件要用到POP3,时间有限,只实现了发邮件,实现过程放在总体设计中 白嫖容易,创作不易,本文原创,转载请注明!!! 源码和可运行程序: 链接:https:/ ...

最新文章

  1. js中this关键字的使用
  2. 20172326 《程序设计与数据结构》第六周学习总结
  3. MassTransit - .NET Core 的分布式应用程序框架
  4. 剑指offer二十二之从上往下打印二叉树
  5. “约见”面试官系列之常见面试题第三十一篇之vue-router得守卫(建议收藏)
  6. 远洋渔船一次出海好几年,生活枯燥,那你在船上最开心的事是啥?
  7. 由于crondtab定时任务导致大量sendmail进程的解决办法
  8. C++模板(关键字template,typename)介绍
  9. 对有序特征进行离散化(继承Spark的机器学习Estimator类)
  10. paip.提升用户体验----c++ 源码字体自定义制造总结
  11. foxmail本地文件夹同步服务器,foxmail同步QQ邮箱里的所有文件夹
  12. Vista 如何关闭UAC(用户帐户控制)
  13. springboot图片验证码
  14. 漫话Kubernetes的网络架构,该用NodePort还是Ingress还是load balancer?
  15. java项目笔记 - 第18章:坦克大战2.1
  16. 创建Cocos2dx项目两种方法
  17. 通俗地讲一下Web是什么意思。
  18. linux 子接口 非vlan,VLAN之间通过子接口通信配置示例
  19. Python3实现发送邮件、发送图片、附件等
  20. uml建模工具 支持php,【UML 建模】在线UML建模工具 ProcessOn 使用详解

热门文章

  1. 蓝色理想的flex教材不能在flex Development做不能使用,我整理一下供初学者参考
  2. 25岁从零开始学习平面设计会不会晚
  3. everedit选择_文本编辑器软件EverEdit怎么样?EverEdit相关功能介绍
  4. Django学习路线之Django自带模板语言DTL
  5. 身份证号码中出生年月的提取
  6. 读书笔记11 《蔡康永的说话之道2》 蔡康永
  7. 飘扬的旗帜!shader 编程实战!Cocos Creator!
  8. 如何通过C/C++求任意角度的余弦值
  9. PPT导出高分辨率dpi图片
  10. 拉开差距的面试题:如何设计一个电商平台积分兑换系统??