电子邮件、SMTP、POP3 、IMAP协议

news2025/1/21 12:08:20

目录

1 电子邮件

1.1 电子邮件系统的组成

1.1.1 用户代理 UA (User Agent)

1.1.2 邮件服务器 (Mail Server)

1.1.3 邮件发送和读取协议

1.2 发送和接收电子邮件的重要步骤

1.3 电子邮件的组成

1.4 电子邮件地址的格式

2 简单邮件传送协议 SMTP

2.1 SMTP 通信的三个阶段

3 电子邮件的信息格式

 3.1 邮件内容的首部

4 邮件读取协议 POP3 和 IMAP

4.1 POP3 协议

4.2 IMAP 协议

4.2.1 IMAP 的特点

4.3 IMAP 与 POP3 比较

5 基于万维网的电子邮件

6 通用互联网邮件扩充 MIME

6.1 MIME 主要包括三个部分

6.1.1 内容传送编码(Content-Transfer-Encoding) 

(1)Quoted-printable 编码

(2)Base64 编码

6.1.2 内容类型

(1)MIME Content-Type 说明中的类型及子类型

6.1.3 MIME 举例


1 电子邮件

·电子邮件 (e-mail):指使用电子设备交换的邮件及其方法。

·优点:使用方便,传递迅速,费用低廉,可以传送多种类型的信息(包括:文字信息,声音和图像等)。

·重要标准

        ·简单邮件发送协议:SMTP

        ·互联网文本报文格式

        ·通用互联网邮件扩充 MIME

        ·邮件读取协议:POP3 和 IMAP

1.1 电子邮件系统的组成

三个主要构件:

        用户代理邮件服务器,以及邮件发送和读取协议

1.1.1 用户代理 UA (User Agent)

·用户与电子邮件系统的接口。又被称为电子邮件客户端软件

·基本功能:撰写、显示、处理、通信。

1.1.2 邮件服务器 (Mail Server)

·又被称为邮件传输代理

·功能:发送和接收邮件,同时还要向发信人报告邮件传送的情况。

·按照客户服务器方式工作。

1.1.3 邮件发送和读取协议

·邮件发送和读取使用不同的协议。

·简单邮件发送协议 SMTP:用于在用户代理向邮件服务器 或 邮件服务器之间发送邮件。

·邮局协议 POP3:用于用户代理从邮件服务器读取邮件。

应当注意

·邮件服务器必须能够同时充当客户和服务器。

·SMTP 和 POP3(或 IMAP)都使用 TCP 连接可靠地传送邮件。

1.2 发送和接收电子邮件的重要步骤

两种不同的通信方式

1.3 电子邮件的组成

·电子邮件由信封 (envelope) 和内容 (content) 两部分组成。

·电子邮件的传输程序根据邮件信封上的信息来传送邮件。

·用户在从自己的邮箱中读取邮件时才能见到邮件的内容。

1.4 电子邮件地址的格式

·在邮件的信封上,最重要的就是收件人的地址。

·TCP/IP 体系的电子邮件系统规定电子邮件地址的格式如下:

2 简单邮件传送协议 SMTP

·SMTP 规定了在两个相互通信的 SMTP 进程之间交换信息的方法。

·SMTP 使用客户服务器方式。

·SMTP 基于 TCP 实现客户与服务器的通信。

·SMTP 是一个基于文本的 (即 ASCII 码) 的协议。

·SMTP 客户与服务器之间采用命令-响应方式进行交互。

2.1 SMTP 通信的三个阶段

1.连接建立:连接是在发送主机的 SMTP 客户和接收主机的 SMTP 服务器之间建立的。SMTP 不使用中间的邮件服务器。  

2.邮件传送

3.连接释放:邮件发送完毕后,SMTP 应释放 TCP 连接。

SMTP 缺点

·不能传送可执行文件或其他的二进制对象。

·限于传送 7 位的 ASCII 码,无法传送非 ASCII 编码的信息。

·服务器会拒绝超过一定长度的邮件。

·某些 SMTP 的实现并没有完全按照 [RFC 821] 的 SMTP 标准。 

3 电子邮件的信息格式

·一个电子邮件分为信封内容两大部分。

·RFC 5322 只规定了邮件内容中的首部 (header) 格式。

·邮件的主体 (body) 部分则让用户自由撰写。

 3.1 邮件内容的首部

4 邮件读取协议 POP3 和 IMAP

两个常用的邮件读取协议:

        ·POP3:邮局协议 (Post Office Protocol) 第3个版本

        ·IMAP:网际报文存取协议 (Internet Message Access Protocol)

4.1 POP3 协议

·POP3 使用客户服务器方式。

·POP3 基于 TCP 实现客户与服务器的通信。

·POP3 支持用户鉴别

·POP3 服务器删除被用户读取了的邮件。

4.2 IMAP 协议

·IMAP 使用客户服务器方式。

·IMAP 基于 TCP 实现客户与服务器的通信。

·IMAP 是一个联机协议。

4.2.1 IMAP 的特点

·连接后只下载邮件首部(部分下载)。

·用户直接在 IMAP 服务器上创建和管理文件夹。

·用户可以搜索邮件内容。

·用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件。

·允许收信人只读取邮件中的某一个部分。

·缺点:要想查阅邮件,必须先联网。

4.3 IMAP 与 POP3 比较

必须注意

·邮件读取协议 POP 或 IMAP 与邮件传送协议 SMTP 完全不同。

·发信人的用户代理向源邮件服务器发送邮件,以及源邮件服务器向目的邮件服务器发送邮件,都是使用 SMTP 协议。

·而 POP 协议或 IMAP 协议则是用户从目的邮件服务器上读取邮件所使用的协议。

5 基于万维网的电子邮件

·用户代理 (UA) 的缺点

        必须在计算机中安装用户代理软件。

        收发邮件不方便。

·万维网电子邮件优点

        不需要在计算机中再安装用户代理软件。

        计算机能联网,就能非常方便地收发电子邮件。

        界面非常友好。

·发送、接收电子邮件时使用 HTTP 协议。

·两个邮件服务器之间传送邮件时使用 SMTP。

·使用 HTTP POST 方法提交要发送的邮件。

·使用 HTTP GET 方法读取邮件。

6 通用互联网邮件扩充 MIME

·通用互联网邮件扩充 MIME 并没有改动 SMTP 或取代它。

·意图:继续使用目前的 [RFC 822] 格式,但增加了邮件主体的结构,并定义了传送非 ASCII 码的编码规则

MIME 和 SMTP 的关系

6.1 MIME 主要包括三个部分

·5 个新的邮件首部字段

·定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。

·定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变。

6.1.1 内容传送编码(Content-Transfer-Encoding) 

(1)Quoted-printable 编码

·适用于所传送的数据中只有少量的非 ASCII 码的情况。

(2)Base64 编码

·适合任意长度的二进制数据。编码表如下:

用两个连在一起的二个等号“==”和一个等号“=”分别表示最后一组的代码只有 8 位或 16 位.

6.1.2 内容类型

·MIME 标准规定:

        Content-Type 说明必须含有两个标识符:内容类型 (type) 和子类型 (subtype),中间用“/”分开。

·MIME 标准原先定义了 7 个基本内容类型和 15 种子类型。

·MIME 允许发件人和收件人自己定义专用的内容类型。但为避免可能出现名字冲突,标准要求为专用内容类型选择的名字要以字符串 X-开始。

(1)MIME Content-Type 说明中的类型及子类型

Multipart 很有用,使邮件增加了相当大的灵活性。

6.1.3 MIME 举例

欢迎一起学习~

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

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

相关文章

牛客周赛 Round 32 F.小红的矩阵修改【三进制状态压缩dp】

原题链接:https://ac.nowcoder.com/acm/contest/75174/F 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 小红拿到了一个字符矩阵,矩阵中仅包含&q…

顶级思维方式——认知篇三(心胸与见识)

目录 1、老《三国演义》司马懿 2、司马迁 3、 王立群: 使自己强大起来,这是打破困境的唯一途径 4、鲁迅经典寓言:聪明人、奴才和傻子 5、芒格 6、巴菲特 7、瑞达利欧 8、诸葛亮 1、老《三国演义》司马懿 你等年级轻轻一遇挫折&#x…

蓝桥杯题目解析 --汉诺塔(含C++栈的知识)

该题在蓝桥杯基础数据结构篇,进入后搜索题号1512。 汉诺塔 可以将圆盘临时置于B杆,也可以将A杆移除的圆盘重新移回A杆,但必须遵循上述两条规则。 汉诺塔了解后,题目也了解后,我们先通过试N的个数来找规律:…

Android 10.0 锁屏壁纸 LockscreenWallpaper

前言 一、设置壁纸 通过系统设置进行锁屏壁纸和桌面壁纸的设置。 Setting 部分的代码: packages/apps/WallpaperPicker2/src/com/android/wallpaper/module/DefaultWallpaperPersister.java private int setStreamToWallpaperManagerCompat(InputStream inputStre…

【实战】一、Jest 前端自动化测试框架基础入门(中) —— 前端要学的测试课 从Jest入门到TDD BDD双实战(二)

文章目录 一、Jest 前端自动化测试框架基础入门5.Jest 中的匹配器toBe 匹配器toEqual匹配器toBeNull匹配器toBeUndefined匹配器和toBeDefined匹配器toBeTruthy匹配器toBeFalsy匹配器数字相关的匹配器字符串相关的匹配器数组相关的匹配器异常情况的匹配器 6.Jest 命令行工具的使…

【C语言进阶】深度剖析数据在内存中的存储--上

1. C语言中的数据类型的简单介绍 注:C99标准里面,定义了bool类型变量。这时,只要引入头文件stdbool.h ,就能在C语言里面正常使用bool类型。 1.1 在C语言中各类型所占内存空间的大小如下 char类型的数据类型大小为1字节即8比特位。…

爬爬爬——今天是浏览器窗口切换和给所选人打钩(自动化)

学习爬虫路还很长,第一阶段花了好多天了,还在底层,虽然不是我专业要学习的语言,和必备的知识,但是我感觉还挺有意思的。加油,这两天把建模和ai也不学了,唉过年了懒了! 加油坚持就是…

16 亚稳态原理和解决方案

1. 亚稳态原理 亚稳态是指触发器无法在某个规定的时间段内到达一个可以确认的状态。在同步系统中,输入总是与时钟同步,因此寄存器的setup time和hold time是满足的,一般情况下是不会发生亚稳态情况的。在异步信号采集中,由于异步…

MySQL篇----第二十二篇

系列文章目录 文章目录 系列文章目录前言一、什么是表级锁二、什么是页级锁三、什么是行级锁四、什么是悲观锁前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 一、…

2023-12蓝桥杯STEMA 考试 Python 中高级试卷解析

蓝桥杯STEMA 考试 Python 中高级试卷(12 月) 一、选择题 第一题 以下哪项是取余运算符?( C ) A、* B、// C、% D、 第二题 已知:s "python",执行 print(s[::2])语句后&…

【Java程序设计】【C00265】基于Springboot的地方废物回收机制管理系统(有论文)

基于Springboot的地方废物回收机制管理系统(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的地方废物回收机构管理系统 本系统分为管理员功能模块以及员工功能模块。 管理员功能模块:管理员登录系统后…

使用matplotlib库来绘制柱状图

# coding: utf-8 from matplotlib import pyplot as plt from matplotlib import font_manager# 定义区间和宽度列表 interval [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 60, 90] width [5, 5, 5, 5, 5, 5, 5, 5, 5, 15, 30, 60] # 定义数量列表 quantity [836, 2737, 3723, …

【QT+QGIS跨平台编译】之三十六:【RasterLite2+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、RasterLite2介绍二、文件下载三、文件分析四、pro文件五、编译实践一、RasterLite2介绍 RasterLite2是一个开源的轻量级栅格数据库,可以用于存储和管理各种类型的栅格数据,包括卫星遥感图像、数字高程模型等。 与传统的GIS数据存储方式不同,RasterLite2采用基…

【程序设计竞赛】C++与Java的细节优化

必须强调下,以下的任意一种优化,都应该是在本身采用的算法没有任何问题情况下的“锦上添花”,而不是“雪中送炭”。 如果下面的说法存在误导,请专业大佬评论指正 读写优化 C读写优化——解除流绑定 在ACM里,经常出现…

基于Qt的人脸识别项目(功能:颜值检测,口罩检测,表情检测,性别检测,年龄预测等)

完整代码链接在文章末尾 效果展示 代码讲解(待更新) qt图片文件上传 #include <QtWidgets> #include <QFileDialog>

普通男孩的新年创作纪念日

前言 首先在新春佳节&#xff0c;小编在这里祝各位大佬。萌新友友们新年好&#xff0c;希望每一个烟火般的你在新的一年里 offer 多多&#xff0c;薪资多多 &#xff0c;龙行龘龘 &#x1f409; &#x1f409; &#x1f409; &#x1f409;&#xff0c;前程朤朤 ❤️ ❤️ ❤…

Ps:堆栈模式在摄影后期的应用

Photoshop 的堆栈模式 Stack Mode为摄影师提供了一种强大的后期处理能力&#xff0c;通过堆叠和处理多张照片来实现无法单靠一张照片完成的效果。 正确的前期拍摄策略和后期处理技巧可以显著提高最终图像的质量和视觉冲击力。 ◆ ◆ ◆ 前期拍摄通用注意事项 在前期拍摄时&am…

【排序】快速排序

基本思想 快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法&#xff0c;其基本思想为&#xff1a;任取待排序元素序列中的某元素作为基准值&#xff0c;按照该排序码将待排序集合分割成两子序列&#xff0c;左子序列中所有元素均小于基准值&#xff0c;右子序列中所…

视频讲解:优化柱状图

你好&#xff0c;我是郭震 AI数据可视化 第三集&#xff1a;美化柱状图&#xff0c;完整视频如下所示&#xff1a; 美化后效果前后对比&#xff0c;前&#xff1a; 后&#xff1a; 附完整案例源码&#xff1a; util.py文件 import platformdef get_os():os_name platform.syst…