聊一聊电子邮件?

news2024/11/27 18:28:50

电子邮件是什么?

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

注意:基于客户/服务器方式和基于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.coloradmin.cn/o/1560753.html

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

相关文章

matlab安装第三方工具箱

1.下载工具箱,放到toolbox目录下 下载的第三方工具箱: 将上述文件按照如下规则放到Matlab安装目录下的toolbox文件夹中: 2.在matlab中设置路径,安装工具

【爬虫框架Scrapy】02 Scrapy入门案例

接下来介绍一个简单的项目,完成一遍 Scrapy 抓取流程。通过这个过程,我们可以对 Scrapy 的基本用法和原理有大体了解。 1. 本节目标 本节要完成的任务如下。 创建一个 Scrapy 项目。 创建一个 Spider 来抓取站点和处理数据。 通过命令行将抓取的内容…

【Go】八、常用字符串函数与时间函数

文章目录 1、字符串常用的函数2、常用的时间函数3、内置函数 1、字符串常用的函数 核心包strings 求字符串长度,按字节(len函数内置,不用导包) 字符串遍历 //转切片 r:[]rune(str)字符串与整数的互转 查找是否包含子字符串 re…

【论文极速读】 指令微调BLIP:一种对指令微调敏感的Q-Former设计

【论文极速读】 指令微调BLIP:一种对指令微调敏感的Q-Former设计 FesianXu 20240330 at Tencent WeChat search team 前言 之前笔者在[1]中曾经介绍过BLIP2,其采用Q-Former的方式融合了多模态视觉信息和LLM,本文作者想要简单介绍一个在BLIP2…

Docker基础系列之TLS和CA认证

Docker基础系列之TLS和CA认证 文章目录 Docker基础系列之TLS和CA认证1. 引言2. 初识TLS和CA3. 开启TLS和CA认证3.1 生成证书3.2 配置TLS 4. 参考和感谢 1. 引言 我们日常工作当中会遇到这些需求: 监控Docker容器在idea开发工具中连接Docker,直接发布至…

电脑端手机配置检测工具推荐与使用指南

摘要 本文介绍了如何使用克魔助手工具在电脑上检测手机的配置信息。通过该工具,用户可以全面了解手机的硬件和操作系统信息,包括电池、CPU、内存、基带信息和销售信息等。 引言 在日常工作中,了解手机的配置信息对于开发和测试人员非常重要…

C语言内存函数(超详解)

乐观学习,乐观生活,才能不断前进啊!!! 我的主页:optimistic_chen 我的专栏:c语言 点击主页:optimistic_chen和专栏:c语言, 创作不易,大佬们点赞鼓…

Gradle 使用详解

目录 一. 前言 二. 下载与安装 2.1. 下载 2.2. 配置环境变量 2.3. 配置镜像 2.3.1. 全局设置 2.3.2. 项目级设置 三. Gradle 配置文件 3.1. build.gradle 3.2. settings.gradle 3.3. gradle.properties 3.4. init.d 目录 3.5. buildSrc 目录 四. Java Library 插…

[flask]请求全局钩子

flask从入门到精通之钩子、异常、context、jinjia模板、过滤器 - 异步非阻塞 - 博客园 (cnblogs.com) 参考的这个博客,但有一个需要注意的是,最新版本的flask不知道是不是更新了还是怎么了,他的before_first_request不见了,如果继…

17.应用负载压力测试

早些点,下午题考,最近几年出现的少; 备考较为简单;历年真题相似度高; 主要议题: 1.负载压力测试概述 注意这些测试细微的差别; 负载测试和压力测试的方法比较相似,但是目的不同&a…

科研学习|论文解读——情感对感知偶然信息遭遇的影响研究(JASIST,2022)

原文题目 Investigating the impact of emotions on perceiving serendipitous information encountering 一、引言 serendipity一词最初是由霍勒斯沃波尔创造的,他将其定义为“通过意外和睿智发现你并不追求的事物”。信息研究中大多数现有的偶然性定义从几个角度看…

LeetCode 第391场周赛个人题解

目录 哈沙德数 原题链接 思路分析 AC代码 换水问题 II 原题链接 思路分析 AC代码 交替子数组计数 原题链接 思路分析 AC代码 最小化曼哈顿距离 原题链接 思路分析 AC代码 哈沙德数 原题链接 思路分析 签到题,不说了 AC代码 class Solution:def s…

3月31号总结

java学习 一.面向对象之多态 什么是多态: 多态是在继承/实现情况下的一种现象。表现为对象多态、行为多态。 对象多态:一个对象可以有多种身份,比如一个人,可以是一个父亲,一个老师,或者等等。 行为多…

“‘悦’向新生,与‘榕’同行” 悦榕集团海外酒店中国区巡演圆满收官

三十周年盛会如约而至,来自25家海外酒店及地产代表亮相上海、深圳、成都3城 【中国上海,2024年3月29日】值此悦榕集团成立30周年之际,悦榕集团海外酒店中国区路演活动于上海、成都、深圳三地举行,旗下25家海外酒店和集团海外地产代…

Ch2 Posix IPC

2.1 概述 三种IPC均使用路径名进行标识。路径名既可以是系统中的实际路径名,也可不是,两者的不一致性可能带来移植性问题。 2.2 IPC名字 2.3 创建与打开IPC通道 2.4 IPC权限

milvus knowhere源码编译测试

简介 Knowhere 是 Milvus 的核心向量执行引擎,集成了Faiss、Hnswlib和Annoy等多个向量相似度搜索库。 编译环境 操作系统: Ubuntu 22.04.4 gcc/g:11.4.0 cmake: 3.27.7 安装依赖 apt install build-essential libopenblas-dev libaio-dev python3-dev python…

备考ICA----Istio实验12---配置双向TLS Istio Ingress Gateway实验

备考ICA----Istio实验12—配置双向TLS Istio Ingress Gateway实验 本实验部分配置延续上个Istio实验11 1. 重新配置secret 重新配置secret使其带有ca证书可以验证客户端证书是否合法 先删除原有secret,再配置新的secret # 删除原tls类型的secret kubectl -n istio-system d…

第四十六周:文献阅读+itransfomer

目录 摘要 Abstract 文献阅读:ITtransformer——转置transformer对时间序列预测的实用性 现有问题 提出方法 方法论 研究实验 实验目的 数据集 基线模型 实验结果 研究贡献 模型代码 总结 摘要 本周阅读的文献《Inverted Transformers are Effective…

海康威视【管理员】账号密码泄露【附Poc】

「企业介绍」 海康威视成立于2001年, 是一家专注技术创新的科技公司 ,在安防、智能物联领域耕耘二十余年,业务覆盖全球150多个国家和地区。公司致力于将物联感知、人工智能、大数据技术服务于千行百业,引领智能物联新未来&#x…

【Python】——变量名的命名规则

🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL&#xff1a…