• 6-4应用层-电子邮件


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

    1.用户代理(UA):用户与电子邮件系统的接口
    功能:
    (1)撰写:给用户提供一个编辑信件的环境
    (2)显示:用户写的信显示在屏幕上,以及看到发出和收到的信
    (3)处理:发送邮件和接受邮件,收件人可以处理信件,如删除、打印、转发等
    (4)通信:写完邮件利用邮件发送协议发送到指定的邮件服务器中,收件人从接收方的邮件服务器中读取邮件

    2.邮件服务器:组成电子邮件系统的核心
    功能:
    (1)用于发送和接收邮件
    (2)向用户回报发送情况

    3.邮件发送协议和读取协议
    (1)SMTP:邮件发送协议用于用户代理向邮件服务器发送邮件在邮件服务器之间发送邮件
    (2)POP3:邮件读取协议用于用户代理从邮件服务器读取邮件

    二.电子邮件的收发过程

    1.发信人调用用户代理(如:Foxmail、Outlook)来撰写和编辑要发送的邮件。用户代理用SMTP把邮件传送给发送方邮件服务器
    2.发送方邮件服务器将邮件放入邮件缓存队列中,等待发送
    3.运行在发送方邮件服务器的SMTP客户进程,发现邮件缓存中有待发送的邮件,就向运行在接收方邮件服务器的SMTP服务器进程发起建立TCP连接

    在这里插入图片描述

    4.TCP连接建立后,SMTP客户进程开始向远程SMTP服务器进程发送邮件。当所有待发送邮件发完后,SMTP就关闭所建立的TCP连接
    5.运行在接收方邮件服务器中的SMTP服务器进程收到邮件后,将邮件放入收信人的用户邮箱,等待收信人在方便时进行读取
    6.收信人打算收信时,调用用户代理,使用POP3(或IMAP)协议将自己的邮件从接收方邮件服务器的用户邮箱中取回(如果邮箱中有来信的话)

    在这里插入图片描述

    三.电子邮件格式与MIME

    1.电子邮件格式
    用户名@邮箱所在主机的域名
    (1)to是必需的关键字,后面填入一个或多个收件人的电子邮件地址
    (2)Subject是可选关键字,是邮件的主题,反映了邮件的主要内容。
    (3)From是必填的关键字,但它通常由邮件系统自动填入

    2.典型的邮件内容
    (1)首部
    填写好 收件人(to)+主题(subject),首部自动生成日期(date)、你的邮件地址(from)等信息
    在这里插入图片描述
    (2)主体(邮件体):写信的内容
    在这里插入图片描述

    3.多用途网际邮件扩充(MIME)
    通过使用MIME,使电子邮件系统可以支持声音、图像、视频、多种国家语言等等。
    (1)背景
    ①SMTP只能传送一定长度的ASCII码,许多其他非英语国家的文字(如中文)就无法传送
    ②无法传送可执行文件及其他二进制对象

    在这里插入图片描述
    (2)继续使用目前的格式,增加了邮件主体的结构,并定义了传送非ASCII码的编码规则
    (3)内容
    ①5个新的邮件首部字段,包括MIME版本、类型
    ②定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化
    ③定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变

    四.SMTP和POP3

    1.简单邮件传输协议(SMTP)
    一种提供可靠且有效的电子邮件传输的协议,它控制两个相互通信的SMTP进程交换信息。发送邮件的SMTP进程是SMTP客户,而负责接收邮件的SMTP进程是SMTP服务器。使用客户/服务器方式;TCP连接,端口号为25

    【缺点】
    ①SMTP不能传送可执行文件或者其他二进制对象(数据)
    ②SMTP仅限于传送7位(比特)ASCII码,不能传送其他非英语国家的文字。
    ③SMTP服务器会拒绝超过一定长度的邮件。
    因此可以使用MIME

    【通信阶段】
    (1)连接建立
    发件人的邮件发送到发送方邮件服务器的邮件缓存中后,SMTP客户就每隔一定时间对邮件缓存扫描一次。发现有邮件,就使用SMTP的熟知端口号(25)与接收方邮件服务器的SMTP服务器建立TCP连接。接收方服务器发出应答信息(220 service ready),SMTP客户向SMTP服务器发送HELLO命令,并且附带发送方主机名。SMTP服务器若有能力接收则返回250 OK,若无法接收则回复421 Service not available,若一定时间内发送不了邮件,邮件服务器将情况告诉发送方。
    在这里插入图片描述

    SMTP不使用中间邮件服务器。TCP连接总是在发送方和接收方这两个邮件服务器之间直接建立。

    (2)邮件传送
    连接建立后,就可开始传送邮件
    ①邮件的传送从MAIL命令开始,MAIL命令后面有发件人的地址。如 FROM:
    ②SMTP服务器已准备好接收邮件,则回答250 OK
    ③接着SMTP客户端发送一个或多个RCPT(收件人recipient的缩写)命令
    *RCPT命令的作用:先弄清接收方系统是否已做好接收邮件的准备,然后才发送邮件,避免浪费通信资源
    ④如果有这个用户,SMTP服务器则回答250 OK,否则回答550 No such user here
    ⑤获得OK的回答后,客户端就使用DATA命令,表示要开始传输邮件的内容
    ⑥服务器端发送命令,表示同意传输
    ⑦客户端开始传输,邮件末尾有结束注明
    ⑧服务器收到结束注明,返回250 OK

    (3)连接释放
    ①邮件发送完毕后,SMTP客户应发送QUIT命令
    ②SMTP服务器返回的信息是221(服务关闭),表示SMTP同意释放TCP连接

    2.POP3
    邮局协议(POP)是一个非常简单但功能有限的邮件读取协议,现在使用的是它的第3个版本POP3。当用户读取邮件时,用户代理向邮件服务器发出请求,拉取用户邮箱中的邮件。使用客户/服务器的工作方式,在传输层使用TCP(有连接可靠的数据传输服务)端口号为110

    【工作方式】
    (1)下载并保留(在服务器)
    (2)下载并删除
    由客户端选择接收后是否将邮件保存在服务器上

    【特点】
    (1)POP3协议同样基于ASCII码,不能发送二进制数据(需要借助MIME)
    (2)在传输层使用明文来传输密码,不对密码进行加密
    (3)一个账号在服务器上只能有一个邮件接收目录

    五.因特网报文存取协议(IMAP)

    邮件接收(读取)协议,比POP复杂得多,允许用户代理只获取报文的某些部分。当用户PC上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上。IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一个部分(先看正文,有WiFi的时候再下载附件)。

    用户提供了创建文件夹、在不同文件夹之间移动邮件及在远程文件夹中查询邮件的命令,为此IMAP服务器维护了会话用户的状态信息

    六.基于万维网的电子邮件

    例如:QQ邮箱、163邮箱、Gmail邮箱
    用户浏览器(如Firefox)与Hotmail或Gmail的邮件服务器之间的邮件发送或接收使用HTTP,在不同邮件服务器之间传送邮件时使用SMTP

    在这里插入图片描述

  • 相关阅读:
    08.SCA-CNN
    超详细的mysql多表操作教程
    Decorator
    【2022年中总结】我走得很慢,但我从不后退
    LCD屏硬件调光的几种方式
    2022年8月29日-2022年9月2日(ue4热更新视频教程学习)
    ECU简介
    Linux内核调试技术——kprobe使用与实现(一)
    【区分vue2和vue3下的element UI Checkbox 多选框组件,分别详细介绍属性,事件,方法如何使用,并举例】
    论设备指纹的唯一性:始于硬件ID,终于云端交互
  • 原文地址:https://blog.csdn.net/weixin_45825865/article/details/126512659