聊一聊电子邮件?

电子邮件是什么?

电子邮件是一种基于客户/服务器架构的应用。功能是实现人与人之间的交流。直到现在,电子邮件依然是当前因特网

注意:基于客户/服务器方式和基于B/S架构不一样!客户/服务器表示的范围更广,当基于客户/服务器模式的引用中客户端时浏览器时,才能说它是B/S架构。

电话也能实现人与人之间的交流,为什么还要电子邮件?

因为电话通信是属于实时通信,实时通信有很多好处,但也有一些缺点:

  • 电话通信中主叫和被叫双方必须同时在场
  • 一些不是十分紧迫的电话也常常不必要地打断人们的工作、休息

这也是电子邮件在现在还没有被取代的原因。

电子邮件实现交流的过程?

电子邮件与邮政系统的寄信类似
在这里插入图片描述

电子邮件是一个客户/服务器架构的应用,这个应用有哪些构件组成?

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

  1. 用户代理
  2. 邮件服务器
  3. 电子邮件所需的协议

用户代理就是电子邮件的客户端,帮助用户将邮件发送到对应的邮件服务器。电子邮件是居于客户/服务器模式的应用,用户代理就是指这个客户。用户与电子邮件系统的接口,又称为电子邮件客户端软件

邮件服务器,将邮件转发给目标邮件服务器,提供邮件存储、管理、转发、接收、下载等功能。邮件服务器是电子邮件系统的基础设施。因特网上的所有ISP(Internet Service Provider,互联网服务提供商0)都有邮件服务器,其功能是负载发送和接收邮件,同时还要负责维护用户的邮箱。

电子邮件所需的协议分为发送电子邮件协议(SMTP)和接收电子邮件协议(POP3,IMAP4)
在这里插入图片描述

什么是SMTP服务器?

SMTP:Simple Mail Transfer Protocol

SMTP协议用于用户使用用户代理(电子邮件客户端软件)向电子邮件服务器发送电子邮件。而由于电子邮件是基于客户/服务器模式的,所以SMTP协议也分成SMTP客户和SMTP服务器。

一次SMTP邮件发送分为:SMTP客户和SMTP服务器两个角色。

在这里插入图片描述

SMTP协议的基本工作原理是什么?

SMTP协议用于发送邮件,在使用SMTP协议发送邮件这个过程中分为两个角色:SMTP客户和SMTP服务器。

首先,SMTP客户会与SMTP服务器建立tcp连接,使用熟知的端口25
在这里插入图片描述

建立TCP连接之后,SMTP客户就可以向服务器发送命令,一共有14条SMTP命令。而SMTP服务器也会给SMTP客户发送相应的应答一个21种。
在这里插入图片描述
SMTP协议基于tcp连接,通过这种命令与应答交互方式,实现将邮件从SMTP客户发送到SMTP服务器。

SMTP协议发送邮件的具体过程:

  • SMTP客户向SMTP服务器发起TCP连接请求,SMTP客户与SMTP服务器建立TCP连接。
  • 建立Tcp连接后,有SMTP服务器主动向SMTP客户推送服务器就绪应答,应答代码是220。
  • SMTP客户向SMTP服务器说明身份,告知自己SMTP服务器的域名。
  • SMTP服务器验证身份,如果身份有效,返回应答代码250。
  • SMTP客户告诉SMTP服务器发件人邮箱是什么。
  • SMTP服务器验证发件人邮箱,如果认为发件人邮箱合理,返回为应答代码250。
  • SMTP客户告诉SMTP服务器收件人邮箱是什么。
  • SMTP服务器验证收件人邮箱,如果收件人邮箱地址存在,返回为应答代码250。
  • SMTP客户向SMTP服务器发送DATA命令,告诉SMTP服务器自己要准备发送邮件内容了。
  • SMTP服务器如果准备好接收返回应答代码345。
  • SMTP客户收到该应答后,就像SMTP服务器发送邮件内容。
  • SMTP客户发送完邮件内容后,需要发送结束符。
  • SMTP服务器收到结束符后就会去检查是否收件成功,如果成功,就向SMTP客户发送应答代码250。
  • SMTP客户收到该应答之后,向SMTP服务器发送QUIT命令,请求端口连接。
  • SMTP接收到QUIT命令后,向SMTP客户发送应答代码221表示接收请求并主动断开连接。

图片来源
图片来源:https://www.bilibili.com/video/BV12E411x74e/?spm_id_from=333.337.search-card.all.click&vd_source=4429c4782cfe0a22523a00fa5bf3f7e6

HTPP协议和SMTP协议都只能传送ASCII,为什么现在的网页或邮件可以传输图片、视频等二进制文件呢?

这是由于MIME(Multipurpose Internet Mail Extensions),多用途因特网邮件拓展的存在。它可以讲用户发送的中文、图片、视频等非ASCII码文件转为ASCII码然后再经过HTTP或SMTP协议传输。
在这里插入图片描述
在这里插入图片描述

介绍一下基于万维网的电子邮件?

万维网是WWW的音译,也可以叫做Web。WWW通过HTTP协议向用户提供服务,是基于因特网(tcp/ip)访问的。WWW是由互相链接的超文本组成的系统。
在这里插入图片描述
在基于Web的电子邮件应用种,用户通过登录邮件服务器万维网站就可以撰写、转发阅读、管理电子邮件。用户无需安装专门的用户代理(电子邮件客户端软件),只需有一个万维网浏览器即可。

邮件服务器网站有非常强大的和方便的邮件管理功能,用户可以在邮件服务器网站上管理和处理自己的邮件,而不需要将邮件下载到本地进行管理。

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/794116.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 网络请求:深入理解Requests库

目录 引言 一、Requests库简介 二、安装与基本使用 三、requests库的特性与优势 四、requests库在实际应用中的案例 1.get请求 2.post请求 3.超时重试 4.headers设置 5.session会话 6.携带cookie​​​​​​​ 7.携带代理​​​​​​​ 8.携带身份认证​​​​​…

爬虫 新闻网站 并存储到CSV文件 以红网为例 V1.0

爬虫:红网网站, 获取当月指定关键词新闻,并存储到CSV文件 V1.0 目标网站:红网 爬取目的:为了获取某一地区更全面的在红网已发布的宣传新闻稿,同时也让自己的工作更便捷 环境:Pycharm2021&#…

【CSS】浮动笔记及案例

CSS浮动 1. 认识浮动 float属性可以指定一个元素沿着左侧或者是右侧放置,允许文本和内联元素环绕它 float属性最初只使用文字环绕图片但却是早起CSS最好用的左右布局方案 绝对定位、浮动都会让元素脱标,以达到灵活布局的目的可以通过float属性让元素脱…

UE4_材质节点

UE4_材质节点 2017-12-07 13:56 跑九宫格 跑UV 评论(0)

arm裸机-1、定时器pwm

时钟配置 我们使用s3c2440,主频12M,查看用户手册 通过锁相环抬升到400MHZ,分成三条通路,通过HHDIVN和PDIVN配置频率比,这个频率比配置手册已经给出。 配置MPLL主频400Mhz, 通过这个公式算出MPLL s、p、m都…

hive 慢sql 查询

hive 慢sql 查询 查找 hive 执行日志存储路径(一般是 hive-audit.log ) 比如:/var/log/Bigdata/audit/hive/hiveserver/hive-audit.log 解析日志 获取 执行时间 执行 OperationId 执行人 UserNameroot 执行sql 数据分隔符为 \001 并写入 hiv…

C语言——调试技巧

1.Debug和Release的介绍 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优 的,以便用…

基于单片机的全自动洗衣机系统仿真设计

**单片机设计介绍,基于单片机的全自动洗衣机系统仿真设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的全自动洗衣机系统仿真设计概要是关于利用单片机技术实现全自动洗衣机控制功能的系统设计概述。以…

科东软件参加广州机器人产业联盟举办先进工业母机专家研讨会

工业母机是“制造机器的机器”,具有基础性、通用性、战略性特征,包括了减材切削机床、等材成形装备、增材制造装备及其控制系统等,是衡量国家工业水平和竞争力的重要标志。广东省作为全球知名的制造业基地,非常重视高端装备领域工…

有关字符串算法

例题一 解法: 算法思路(两两⽐较): 我们可以先找出前两个的最⻓公共前缀,然后拿这个最⻓公共前缀依次与后⾯的字符串⽐较,这样就可以找出所有字符串的最⻓公共前缀。 例题二 解法(中⼼扩散&am…

HuggingFace踩坑记录-连不上,根本连不上

学习 transformers 的第一步,往往是几句简单的代码 from transformers import pipelineclassifier pipeline("sentiment-analysis") classifier("We are very happy to show you the 🤗 Transformers library.") ""&quo…

Flask-RESTful 分析

Flask-RESTful 是一个 Flask 扩展,它为构建 RESTful API 提供了方便的工具和资源。它简化了创建 RESTful 服务的过程,允许开发者专注于业务逻辑而不是 HTTP 协议的细节。 资源(Resources): Resource 类:是…

Java集合详解(一)-- List集合

1.集合简介 java集合可分为Set、List、Queue和Map四种体系。 Java集合就像一种容器,可以把多个对象(实际上是对象的引用,但习惯上都称对象)“丢进”该容器中。从Java 5 增加了泛型以后,Java集合可以记住容器中对象的数…

PW1503限流芯片:可达3A限流,保障USB电源管理安全高效

在电源管理领域,开关的性能直接关系到设备的稳定性和安全性。今天,我们将详细解析一款备受关注的超低RDS(ON)开关——PW1503。它不仅具有可编程的电流限制功能,还集成了多项保护机制,为各类电子设备提供了高…

解决在统信UOS Linux下缺乏zlib和jpeg库导致的安装Pillow报错问题

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、引言 今天在统信UOS Linux的Python3环境下安装Pillow遇到了问题,导致安装不成功,通过报错信息。 二、第一执行pip3 install pillow安装报错 为了提高效率,指向了清华…

Spring重点知识(个人整理笔记)

目录 1. 为什么要使用 spring? 2. 解释一下什么是 Aop? 3. AOP有哪些实现方式? 4. Spring AOP的实现原理 5. JDK动态代理和CGLIB动态代理的区别? 6. 解释一下什么是 ioc? 7. spring 有哪些主要模块?…

Spring-IoC 基于注解

基于xml方法见:http://t.csdnimg.cn/dir8j 注解是代码中的一种特殊标记,可以在编译、类加载和运行时被读取,执行相应的处理,简化 Spring的 XML配置。 格式:注解(属性1"属性值1",...) 可以加在类上…

计算机网络-HTTP相关知识-基础

HTTP基础 基本概念:HTTP是一种计算机之间交流通信的规范,它允许数据在两点之间传输,这个过程可以包括中转或接力。HTTP不仅仅包括文本,还可以包括图片、音频等超文本。状态码:HTTP状态码分为五类: 2xx&…

一文搞懂 ThreadLocal

简介 ThreadLocal存取的数据,总是与当前线程相关,也就是说,JVM 为每个运行的线程,绑定了私有的本地实例存取空间,从而为多线程环境常出现的并发访问问题提供了一种隔离机制。 ThreadLocal的作用是提供线程内的局部变…

RK3588 NPU 研究(二)

RK提供了两个模型,mobilenet和YOLO5。 mobilenet模型相对小,使用起来不是很明显yolo5模型大一些,可以对88种目标进行检测,提供检测的结果包括类别、包围框坐标、可信度等信息。基于rknn_yolov5_demo进行分析。 rknn_yolov5_demo基…