计算机网络 应用层 电子邮件协议:SMTP、POP3、IMAP
因特网中的电子邮件
因特网电子邮件系统有3个主要组成部分:用户代理、邮件服务器、简单邮件传输协议(SMTP)。
用户代理:允许用户阅读、回复、转发、保存和撰写报文。
邮件服务器:每个接收方在其中的某个邮件服务器上有一个邮箱。一个用户的邮箱管理和维护着发送给他的报文。
一个典型的邮件发送过程是:从发送方的用户代理开始,传输到发送方的邮件服务器,再传输到接收方的邮件服务器,然后在这里被分发到接收方的邮箱中。当Bob要在它的邮箱中读取该报文时,包含它邮箱的邮件服务器(使用用户名和口令)来鉴别Bob。
Alice的邮箱也必须能处理Bob的邮件服务器的故障。如果Alice的服务器不能将邮件交付给Bob的服务器,Alice的邮件服务器在一个报文队列中保持该报文并在以后尝试再次发送。通常每30分钟左右进行一次尝试。如果几天后仍不能成功,服务器就删除该报文并以电子邮件的形式通知发送方(Alice)。
SMTP(端口25)
SMTP是因特网电子邮件中主要的应用层协议。使用TCP可靠数据传输服务,从发送方的邮件服务器向接收方的邮件服务器发送邮件。
像大多数应用层协议一样,SMTP也有两个部分:运行在发送方邮件服务器的客户端和运行在接收方邮件服务器的服务器端。每台邮件服务器上既运行SMTP的客户端也运行SMTP的服务器端。
SMTP一般不使用中间邮件服务器发送邮件,即使这两个邮件服务器位于地球的两端也是这样。
SMTP如何将一个报文从发送邮件服务器传送到接收邮件服务器:
运行在发送邮件服务器主机上的客户SMTP在25号端口建立一个到服务器SMTP的TCP连接。
如果服务器没有开机,客户会在稍后继续尝试该连接。一旦连接建立,服务器和客户执行某些应用层的握手。
在SMTP握手的阶段,SMTP客户指示发送方的邮件地址和接收方的邮件地址。一旦该SMTP客户和服务器彼此介绍之后,客户发送该报文。SMTP能依赖TCP提供的可靠数据传输无差错地将邮件投递到接收服务器。
一旦创建了TCP连接,就开始了下列过程。SMTP使用持续连接。
与HTTP的对比
HTTP:拉协议。即在方便的时候,某些人在Web服务器上装载信息,用户使用HTTP从该服务器拉取这些信息。特别是TCP连接是由想接收文件的机器发起的。
SMTP:推协议。即发送邮件服务器把文件推向接收邮件服务器。特别是,这个TCP连接是由要发送该文件的机器发起的。
邮件报文格式
每个首部必须还有一个From: 一个To:
一个首部也许包含一个Subject: 和其他可选首部行。
在报文首部之后,紧接着一个空白行,然后是以ACSII格式表示的报文体。
邮件访问协议
SMTP用于将邮件从发送方的邮件服务器传输到接收方的邮件服务器;SMTP也用来将邮件从发送方的用户代理传送到发送方的邮件服务器。
如POP3这样的邮件访问协议用来将邮件从接收方的邮件服务器传送到接收方的用户代理。
第三版的邮局协议 POP3
当用户代理打开了一个到邮件服务器端口110上的TCP连接后,POP3就开始工作了。
三个阶段。
1.特许阶段:用户代理发送用户名和口令 鉴别用户
2.事务处理阶段:用户代理取回报文。同时还能对报文做删除标记,取消报文删除标记,以及获取邮件的统计信息。
3.更新阶段:出现在客户发出了quit命令之后,目的是结束该POP3会话。这时,该邮件服务器删除那些被标记为删除的报文。
因特网邮件访问协议 IMAP
IMAP协议为用户提供了创建文件夹以及将邮件从一个文件夹移动到另一个文件夹的命令。IMAP还为用户提供了在远程文件夹中查询邮件的命令,按指定条件去查询匹配的邮件。
IMAP维护了IMAP会话的用户状态信息,例如文件夹的名字以及哪些报文与哪些文件夹相关联。
IMAP的另一个重要特性是它具有允许用户代理获取报文某些部分的命令。例如,一个用户代理可以只读取一个报文的报文首部,或只是一个多部份的MIME报文的一部分。
计算机网络 应用层 电子邮件协议:SMTP、POP3、IMAP相关推荐
- 电子邮件协议---SMTP,POP3,IMAP,MIME
在应用层的另外一个典型的应用例子就是电子邮件 电子邮件的传送和通过浏览器访问其他主机的文件有不同之处,电子邮件的形式更多像我们日常生活中的邮箱. 电子邮件的概述: 在用户写好电子邮件之后,电子邮件首先 ...
- 邮件协议SMTP/POP3/IMAP——应用层
一.SMTP协议 1.SMTP协议简介 SMTP称为简单邮件传输协议(Simple Mail Transfer Protocal),目标是向用户提供高效.可靠的邮件传输.它的一个重要特点是它能够在传送 ...
- SMTP, POP3, IMAP,Exchange ActiveSync区别
作者:diligentTiger 链接:https://www.zhihu.com/question/24605584/answer/29039357 来源:知乎 SMTP, POP3, IMA ...
- 【Python SMTP/POP3/IMAP】零基础也能轻松掌握的学习路线与参考资料
Python是一种高级编程语言,广泛应用于Web开发.人工智能.数据科学.自动化等领域.SMTP/POP3/IMAP是与邮件相关的三个协议,分别用于发送邮件.接收邮件和访问邮件.使用Python可以轻 ...
- 计算机网络--电子邮件传输协议(SMTP POP3 IMAP)
电子邮件传输协议详解 1.邮件传输系统的运行机制 邮件传输系统包含主要的三个部分:用户代理.邮件服务器和相关的邮件传输协议. 用户代理是客户端,功能是向服务器发送用户的邮件或者从服务器接收用户的邮件. ...
- 域名系统DNS、文件传送协议FTP、动态主机配置协议DHCP、远程登录协议TELNET、电子邮件协议(SMTP/POP3/IMAP)、常用端口
1.DNS域名系统 Domain Name System DNS 是一个分布式数据库,提供了主机名和 IP 地址之间相互转换的服务. 这里的分布式数据库是指,每个站点只保留它自己的那部分数据. 域名具 ...
- 电子邮件协议(SMTP,MIME,POP3,IMAP)
SMTP 关键词: 电子邮件协议:SMTP简单邮件传输协议,负责将邮件上传到服务器,采用TCP的25端口,C/S工作.仅传送ASCII码文本 详细介绍: SMTP是一种提供可靠且有效的电子邮件传输的协 ...
- 电子邮件协议详解(SMTP、POP3、IMAP4)
文章目录 1 概述 2 协议类型 3 网工软考真题 1 概述 #mermaid-svg-0fLkWc3KF7uNT84s {font-family:"trebuchet ms",v ...
- 计算机网络应用层课后习题练习(一)
计算机网络应用层课后习题练习 应用层知识点概览 课后练习(一) 应用层知识点概览 域名系统DNS 文件传送协议FTP和TFTP 远程终端协议TELNET 万维网WWW 电子邮件SMTP/POP3/IM ...
最新文章
- linux shell 指定端口 杀进程 结束进程
- python 数据分析学什么-如何学习Python数据分析呢?老男孩Python培训
- 031_mysql事务的安全隐患
- 睢县第三届芦笋文化节开幕 对话中国农民丰收节交易会
- Myecplise Tomcat 启动很慢
- python删除列表中的元素
- Jenkins使用经验谈
- python中处理WordNet
- Ubuntu下编译nanomsg库
- 随机森林回归简单示例
- html/css插入base64背景图片
- 字幕文件srt格式解析
- 【操作系统】为什么 0.1 + 0.2 不等于 0.3 ?
- Volatility工具使用
- 专升本英语——语法知识——高频语法——第四节 定语从句(限制性定语从句-非限制性定语从句)【学习笔记】
- Python3基础语法(三)
- cacheable 表达式_Spring Boot缓存注解@Cacheable、@CacheEvict、@CachePut使用
- 小孔成像总结_备战中考|初中物理重要知识点总结,建议收藏!(下篇)
- 浏览器访问不了localhost
- Glide的使用回收内存问题