电子邮件协议(SMTP,MIME,POP3,IMAP)

news2024/12/25 12:49:34

SMTP

关键词:

电子邮件协议:SMTP简单邮件传输协议,负责将邮件上传到服务器,采用TCP的25端口C/S工作。仅传送ASCII码文本

详细介绍:
SMTP是一种提供可靠且有效的电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持,SMTP的重要特性之一是其能跨越网络传输邮件,即“SMTP邮件中继”。使用SMTP,可实现相同网络处理进程之间的邮件传输,也可通过中继器或网关实现某处理进程与其他网络之间的邮件传输。

工作过程:

(1)建立连接:在这一阶段,SMTP客户请求与服务器的25端口建立一个TCP连接。一旦连接建立,SMTP服务器和客户就开始相互通告自己的域名,同时确认对方的域名。

(2)邮件传送:利用命令,SMTP客户将邮件的源地址、目的地址和邮件的具体内容传递给SMTP服务器,SMTP服务器进行相应的响应并接收邮件。

(3)连接释放:SMTP客户发出退出命令,服务器在处理命令后进行响应,随后关闭TCP连接。

MIME

MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

它是一个互联网标准,扩展了电子邮件标准,使其能够支持:

非ASCII字符文本;非文本格式附件(二进制、声音、图像等);由多部分(multiple parts)组成的消息体;包含非ASCII字符的头信息(Header information)。

这个标准被定义在RFC 2045、RFC 2046、RFC 2047、RFC 2048、RFC 2049等RFC中。 MIME改善了由RFC 822转变而来的RFC 2822,这些旧标准规定电子邮件标准并不允许在邮件消息中使用7位ASCII字符集以外的字符。正因如此,一些非英语字符消息和二进制文件,图像,声音等非文字消息原本都不能在电子邮件中传输(MIME可以)。MIME规定了用于表示各种各样的数据类型的符号化方法。 此外,在万维网中使用的HTTP协议中也使用了MIME的框架,标准被扩展为互联网媒体类型。

S/MIME:

S/MIME在安全方面的功能又进行了扩展,它可以把MIME实体(比如/url等)封装成安全对象。RFC 2634定义了增强的安全服务,例如具有接收方确认签收的功能,这样就可以确保接收者不能否认已经收到过的邮件。微软将在未来的Office 2000新版本中包含这些服务。S/MIME增加了新的MIME数据类型,用于提供数据保密、完整性保护、认证和鉴定服务等功能,这些数据类型包括“应用 /pkcs7-MIME”(application/pkcs7-MIME)、“复合/已签名”(multipart/signed)和“应用 /pkcs7-签名”(application/pkcs7-signature)等。

pop3

关键词:负责将邮件下载到客户机,采用TCP的110端口C/S工作,用户从服务器读取邮件后,服务器就删除该邮件。

POP 协议支持“离线”邮件处理。

其具体过程是:邮件发送到服务器上,电子邮件客户端调用邮件客户机程序以连接服务器,并下载所有未阅读的电子邮件。这种离线访问模式是一种存储转发服务,将邮件从邮件服务器端送到个人终端机器上,一般是PC机或 MAC。一旦邮件发送到 PC 机或MAC上,邮件服务器上的邮件将会被删除。但目前的POP3邮件服务器大都可以“只下载邮件,服务器端并不删除”,也就是改进的POP3协议。

 补充:提供了SSL加密的POP3协议被称为POP3S

IMAP:

关键词

IMAP4互联网信息访问协议,提供摘要浏览,选择下载。采用 TCP的143端口C/S工作。用户从服务器读取邮件后,服务器人会保存该邮件

IMAP4改进了POP3的不足,用户可以通过浏览信件头来决定是不是要下载此信,还可以在服务器上创建或更改文件夹或邮箱,删除信件或检索信件的特定部分。在用户访问电子电子邮件时,IMAP4需要持续访问服务器。在POP3中,信件是保存在服务器上的,当用户阅读信件时,所有内容都会被立刻下载到用户的机器上。我们有时可以把IMAP4看成是一个远程文件服务器,把POP3可以看成是一个存储转发服务。

PGP:

关键词:PGP电子邮件加密协议,包括加密,鉴别,签名和压缩等技术,使用IDEA(128位)加密数据,RSA加密密钥,MD5认证。

PGP能够提供独立计算机上的信息保护功能,使得这个保密系统更加完备。可以用它对邮件保密以防止非授权者阅读,它还能对邮件加上数字签名从而使收信人可以确认邮件的发送者,并能确信邮件没有被篡改。它可以提供一种安全的通讯方式,而事先并不需要任何保密的渠道用来传递密匙。PGP的功能强大,有很快的速度。可以使用PGP接管用户的共享文件夹本身以及其中的文件,安全性远远高于操作系统本身。

具体地:

PGP提供2种服务:数据加密和数字签名,使用RSA对公钥证书加密认证,IDEA(128位密钥)进行数据加密,MD5进行完整性验证。加密算法:支持IDEA,CAST,3DES算法对消息进行加密;采用EIGamal或RSA算法用接收方的公钥加密会话密钥。
数据签名:采用SHA-1、MD5消息摘要算法计算消息的摘要值(散列码),用发送者的私钥按DSS或RSA算法加密消息摘要。

补充:PEM

PEM增强保密邮件协议,使用多种加密方法提供机密性、认证和信息完整性的因特网电子邮
件协议,采用每个报文一次一密的方法加密。其他和PGP功能差不多。

其中有提到C/S和B/S的架构,详细可以看这篇:

http://t.csdn.cn/5ykf8

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

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

相关文章

学系统集成项目管理工程师(中项)系列23b_信息系统集成及服务管理(下)

1. 信息技术服务 1.1. 供方为需方提供如何开发、应用信息技术的服务,以及供方以信息技术为手段提供支持需方业务活动的服务 1.2. 信息技术咨询服务、设计与开发服务、信息系统集成服务、数据处理和运营服务及其他信息技术服务 2. 信息系统审计 2.1. 收集并评估证…

Golang中的协程(goroutine)

目录 进程 线程 并发 并行 协程(goroutine) 使用sync.WaitGroup等待协程执行完毕 多协程和多线程 进程 进程就是程序在操作系统中的一次执行过程,是系统进行资源分配和调度的基本单位,进程是一个动态概念,是程序在执行过程中分配和管理…

C语言_用VS2019写第一个C语言或C++程序

接上一篇:C语言简述、特点、常用编译器,VS2010写第一个C语言程序 本次来分享用VS2019来写C语言或C程序,也是补充上一篇的知识,话不多说,开始上菜: 此博主在CSDN发布的文章目录:我的CSDN目录&…

微信小程序nodejs+vue+uniapp超市网上购物商城系统

超市购物系统用户端要求在系统的安卓手机上可以运行,主要实现了管理端;首页、个人中心、用户管理、商品分类管理、商品信息管理、商品入库管理、订单信息管理、订单配送管理、订单评价管理、退货申请管理、换货申请管理、系统管理,用户端&…

总结857

学习目标: 月目标:5月(张宇强化前10讲,背诵15篇短文,熟词僻义300词基础词) 周目标:张宇强化前3讲并完成相应的习题并记录,英语背3篇文章并回诵 每日必复习(5分钟&#…

4-《安卓进阶》

4-《安卓进阶》 1 Okhttp2 Retrofit3 Android常用图片库对比4 Glide原理手写图片加载框架思路5 Rxjava6 Android IPC机制(面试八股文之一)6.1.Android中进程和线程的区别6.2.IPC概念6.3.Android序列化与反序列化6.3.Android如何开启多进程?多…

MDIO总线

基于linux-3.14.16 首先要搞清楚总线的位置,即硬件上的位置 如上图,mdio总线是mac和phy之间的连接方式,主要用于配置配置phy的寄存器,所以phy应该是器的一类物理设备,mdio总线驱动和总线设备都是围绕phy工作的。 一…

一图看懂 async_timeout 模块:异步 I/O 的超时设置,资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 一图看懂 async_timeout 模块:异步 I/O 的超时设置,资料整理笔记(大全) 🧊摘要🧊模块图🧊类关系图…

chatgpt赋能Python-pythonfrozenset

Python frozenset介绍 在Python中,可以通过frozenset创建不可变集合。与set不同,frozenset一旦被创建就无法修改。frozenset通常用于作为字典的键,因为字典键必须是不可变的。 如何创建frozenset frozenset可以通过将可迭代对象作为参数传…

Blazor实战——Known框架快速开始

Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行。 开源地址: https://gitee.com/known/Known 1. 安装项目模板并创建新项目 打开命令行输入如下命令安装和创建。 -- 安装模板 dotnet n…

chatgpt赋能Python-pythonformat的用法小数点位数

Python中的format函数和小数点位数 介绍 Python中的format函数是一种格式化输出字符串的方法,允许你使用占位符来指定输出的格式。你可以使用format函数来格式化字符串,比如确定字符串的长度、插入变量或按特定格式输出字符串。 在本文中,…

Xubuntu22.04之自动调节亮度护眼redshift(一百七十四)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

chatgpt赋能Python-pythonfib

Pythonfib:一个优秀的计算斐波那契数列的Python函数 斐波那契数列是一种非常有趣也非常常见的数列,它起源于数学但在计算机科学中也经常被用到。Pythonfib是一个优秀的Python函数,可以用来计算斐波那契数列。本文将对Pythonfib进行详细介绍&…

本地电脑搭建Plex私人影音云盘教程,内网穿透实现远程访问

文章目录 1.前言2. Plex网站搭建2.1 Plex下载和安装2.2 Plex网页测试2.3 cpolar的安装和注册 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 转发自CSDN远程穿透的文章:免费搭建Plex家庭影音中心 - 打造超级多媒体中心【公网远程访问…

【红队系列】外网信息收集(二)

红队系列 🔥系列专栏:红队系列 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 📆首发时间:🌴2023年5月20日🌴 🍭作者水平很有限,如果发现错误&…

chatgpt赋能Python-pythondescribe

PythonDescribe:更快、更准确、更易用的Python文档生成工具 介绍 Python是一种在数据科学和Web开发等领域广泛应用的高级编程语言。但是,在编写Python代码时,文档的编写常常被忽视。文档的缺失会使代码难以理解、维护和重复使用。幸运的是&…

基于MAC地址的ACL配置

基于MAC地址的ACL配置 【实验目的】 掌握基于MAC地址的标准ACL的配置。验证配置。 【实验拓扑】 实验拓扑如图1所示。 图1 实验拓扑 设备参数如表所示。 表1 设备参数表 设备 接口 IP地址 子网掩码 默认网关 S1 e0/0 N/A N/A N/A e0/1 N/A N/A N/A PC1 N/…

chatgpt赋能Python-pythonfloat设置精度

Python float设置精度 在Python中,float是一种表示小数的数据类型。但是在某些情况下,我们可能需要设置float的精度,以避免舍入误差造成的问题。在本文中,我们将介绍如何在Python中设置float的精度。 为什么需要设置float的精度…

芯片设计全流程知识点总结

1、低功耗工具 功耗分析预测分析工具包括PowerArtist(Ansys)、Spyglass Power(Synopsys)、Prime Time PX(Synopsys)和Redhawk(Ansys)等。通过对实际项目中;不同工具的比…

单片机GD32F303RCT6 (Macos环境)开发 (二十二)—— FreeRTOS的移植

GD32F303RCT6 FreeRTOS的移植 1、在Application的Makefile中增加freertos的编译选项,如下: ENABLE_FREERTOS yes ifeq ($(ENABLE_FREERTOS), yes) APPLICATION_FLAGS \ -DENABLE_FREERTOS endif2、Application目录下增加FreeRtos目录,将下…