【计算机网络】应用层电子邮件协议

一、电子邮件系统架构

电子邮件是一个典型的异步通信系统,发送方从UA,也就是邮件客户端,通过应用层SMTP协议,传输层tcp协议,发送给发送方的邮件服务器,比如使用的是163邮箱,163提供的SMTP服务器就是smtp.163.com发送方给这个地方发送。

之后,这个163 smtp服务器又会作为smtp客户端,再次通过应用层SMTP,传输层TCP给接收方的邮件服务器发邮件。

最后收件人会通过POP或IMAP协议,从他的POP3或IMAP服务器把他的邮件pop出来,还是走TCP连接。

注意这里都是客户端和服务器通信,走的都是典型的Client-Server架构。

例如,发送方邮件服务器,在接收发件人发来的邮件的时候,是作为服务器,然后他在给接收方邮件服务器送信的时候,是作为客户端。

这里我们把发送方邮件服务器——接收方邮件服务器这一大块,叫做电子邮件系统,这里面一定是走SMTP的。这之外,比如现在很多邮箱提供网页端,那么从发送方到发送方服务器这个过程就有可能走HTTP了,接收方服务器到接收方这里也是同理,可以走HTTP。

、SMTP(Simple Mail Transfer Protocol)

整个过程的大部分应用层协议走的都是SMTP,先看看SMTP。

它主要规定了这个客户端和服务器通信的过程,不含加密和认证,而且SMTP只能传7bit-ASCII码,这是上古时代的ASCII码,只包含了前128个字符。看下面这个通信的过程。

客户端和服务器通过简单的helo来建立连接,然后说这是从谁来的,给谁发的。

之后是信息的头和body,最后在把连接断掉。

这是一个原来的简单的邮件的格式,包括这些很基础的内容。

后来发现我们要传一些别的,视频、音频、文件、甚至二进制代码,为了遵循开闭原则,不对原先的系统修改,只添加功能,那就需要一种方式把这些东西映射成7bit-ASCII码,再走SMTP。

三、MIME(Multipurpose Internet Mail Extension)

就有了这个MIME扩展,

它通过规定了很多的Content Type,来支持不同样式的信息。

来看这样一个例子,最上面的是MIME的头,接着就是Content,type是mutipart-alternative,里面就是各种格式的信息,他还定义了一个boundary,来分隔不同的信息。

例如下面第一个content-type是text/html,然后用那个boundary分隔,然后是mesage/external-body,最后是一个音频文件。

四、POP3和IMAP

就是很简单的从邮件服务器pop出来消息到本地。

看这里都是些很简单的消息,把邮件都list出来,把某个邮件retrieve出来,然后删除某个邮件,最后退出。

这里就是POP3的局限,只能把整个邮件POP出来才能看。

IMAP可以把邮件的一部分POP出来。

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

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

相关文章

vue2项目使用rem布局

问题描述: 项目使用rem来实现自适应 实现 1.引入postcss-px2rem npm i postcss-pxtorem -s2.在vue.config.js文件中进行配置 css: {extract: IS_PROD, //是否将组件中的 CSS 提取至一个独立的 CSS 文件中 (而不是动态注入到 JavaScript 中的 inline 代码)。sou…

MATLAB 自抗扰控制 - Active Disturbance Rejection Control

系列文章目录 MATLAB 模型参考自适应控制 - Model Reference Adaptive Control 文章目录 系列文章目录前言一、控制器结构1.1 一阶逼近1.2 二阶逼近 二、指定控制器参数参考 前言 自抗扰控制 (ADRC) 是一种无模型控制方法,适用于为具有未知动态特性以及内部和外部…

VUE+webrtc-streamer 实现实时视频播放(监控设备-rtsp)

效果 下图则启动成功,此时在浏览器访问127.0.0.1:8000可以看到本机监控画面 1、下载webrtc-streamer 地址:https://github.com/mpromonet/webrtc-streamer/releases 2、解压下载包 3、双击webrtc-streamer.exe启动服务 4、将下载包html文件夹下webrt…

sfp8472学习CDR

1,cdr名称解释 因为光信号传输至一定距离的时候,通常是长距离传输,其波形会出现一定程度的失真,接收端接收到的信号是一个个长短不一的脉冲信号,这个时候在接收端,我们就无法得到我们需要的数据。所以,这个时候就需要有信号的再生,信号的再生功能为再放大、再整形和再…

从零开发短视频电商 AWS OpenSearch Service开发环境申请以及Java客户端介绍

文章目录 创建域1.创建域2.输入配置部署选项数据节点网络精细访问控制访问策略 获取域端点数据如何插入到OpenSearch ServiceJava连接OpenSearch Servicespring-data-opensearchelasticsearch-rest-high-level-clientopensearch-rest-clientopensearch-java 因为是开发测试使用…

《论文阅读》用于情绪回复生成的情绪正则化条件变分自动编码器 Affective Computing 2021

《论文阅读》用于情绪回复生成的情绪正则化条件变分自动编码器 前言简介模型结构实验结果总结前言 今天为大家带来的是《Emotion-Regularized Conditional Variational Autoencoder for Emotional Response Generation》 出版:IEEE Transactions on Affective Computing 时间…

Gateway和spring-boot-starter-web的恩怨情仇

为什么取这个题目,其实与我踩到的坑有关,说起来这个坑非常神奇,这里面就涉及到Gateway和spring-boot-starter-web底层所依赖的技术不兼容的问题。 一、背景 SpringCloud 版本 ---- Finchley.SR2 SpringBoot 版本 ---- 2.0.6.RELEASE 如果同…

Qt使用Cryptopp生成HMAC-MD5

近期项目中HTTPS通讯中,token需要使用HMAC-MD5算法生成,往上找了一些资料后,仍不能满足自身需求,故次一记。 前期准备: ①下载Cryptopp库(我下载的是8.8.0 Release版本):Crypto Li…

四川思维跳动商务信息咨询有限公司正规吗?

当今的电商市场,平台众多,竞争激烈。其中,抖音电商以其独特的社交模式和精准的推荐算法赢得了众多商家的青睐。然而,随着市场的扩大,许多商家可能对如何在抖音电商平台上进行合规经营感到困惑。此时,四川思…

【C#设计模式 + Filter】装饰器模式专项——过滤器

c# 装饰器模式专项——过滤器 装饰器模式专项——过滤器Filter1.winform实现通过特性改控件名称(.Framework)2.手写过滤器 (.NET Core) 装饰器模式专项——过滤器Filter 左边为api启动流程。 右边为需要实现的winform启动流程。右边大框里面需要我们手动实现。 1.wi…

权威认证!景联文科技入选杭州市2023年第二批省级“专精特新”中小企业认定名单

为深入贯彻党中央国务院和省委省政府培育专精特新的决策部署,10月7日,杭州市经济和信息化委员会公示了2023年杭州“专精特新”企业名单(第二批)。 根据工业和信息化部《优质中小企业梯度培育管理暂行办法》(工信部企业…

git 克隆无权限-重新输入账号密码

克隆项目代码时提示没有权限,有可能是没有登录账号,也可能是账号密码改了,运行下面指令,然后重新克隆项目,下载的时候会让你重新输入账号密码,则克隆成功 git config --global credential.helper cache 参考…