电子邮件其其协议

  • 一、电子邮件
  • 二、SMTP
  • 三、SMTP与HTTP的对比
  • 四、SMTP命令和SMTP报文格式
  • 五、邮件访问协议(POP、IMAP、HTTP)

一、电子邮件

1、电子邮件是异步通信媒介,不必与人协调,不必等人方便。

2、电子邮件系统由三部分组成:用户代理(user agent)、邮件服务器(mail server)、简单邮件传输协议(simple mail transfer protocol)。

3、流程大致为:从发送方的用户代理到发送方的邮件服务器,再到接收方的用户服务器和接收方的邮箱,接收方有空时再从邮箱读取。

4、接收方邮箱所在的邮件服务器会在接收方尝试访问的时候做出鉴别

5、发送方邮件服务器在接收方不方便时常常维护一个报文队列

二、SMTP

1、SMTP是电子邮件应用的核心,它使用TCP可靠数据传输服务,在发送发和接收方的邮件服务器之间沟通的语法。二者有时作为客户端,有时是服务器端

2、SMTP传输时编码方式采用ASCII码,而不是二进制数据文件(二进制文件与ASCII码),也意味着若想把报文看得明白,需要有ASCII码解码的工具帮助。

3、邮件传输详细流程:

1)Alice调用她的邮件代理(g-mail等)并提供Bob的邮件地址,发送邮件

2)邮件到了Alice的邮件服务器,在报文队列中等待发送

3)Alice邮件服务器上的STMP客户端创建一个到在Bob邮件服务器STMP服务器端的TCP连接(电子邮件的SMTP使用端口号25),并把报文推到套接字进而使用TCP传输

4)分给Bob的邮件服务器接收到了邮件,放到Bob的邮箱上,以便在Bob方便的时候,可以通过邮件代理阅读

注意:SMTP不存在中间邮件服务器,即使Alice和Bob的邮件服务器很远,也是直接建立一个"跨越山海"的TCP连接

4、SMTP采用持续性连接:多个报文可以通过同一个TCP连接发送到同一个邮件服务器

三、SMTP与HTTP的对比

1、HTTP是一个拉协议,客户按需索取文件,TCP连接是由想接受文件一方的发起的;而SMTP是一个推协议,TCP连接是由要发送邮件的机器发起。

2、最早的SMTP要求每个报文采用ASCII码格式,非7位ASCII码的字符(法语、汉语、二进制图形文件)必须按7比特ASCII码编码,也许把某些文件编成乱码发出去,然后接受方再恢复正确的编码。HTTP则不受这种编码限制。

但是是现在的smtp协议除了支持7位元的ascii码,还支持包括8位元的ascii码、base64编码在内的几种编码形式,也是通过报文头部的某个字段进行标识,

3、既包含文本又包含多媒体的文档,HTTP把每个对象单独封装成报文,SMTP将所有对象封装成一个报文。

四、SMTP命令和SMTP报文格式

1、SMTP命令:涉及到双方的握手、会话,是抽象的表像
S:
C:
S:

2、SMTP报文格式:发送时具体的格式
From:
To:
subjtct:

五、邮件访问协议(POP、IMAP、HTTP)

从邮箱访问邮件采用C-S体系结构,用户通过端系统上的(客户程序)邮件代理,阅读服务器上自己邮箱中的电子邮件。客户程序给了用户读取多媒体报文和附件的能力

1、接收方服务器不能位于接收用户的电脑上,因为无法使其永远处于开机状态。相反,邮件服务器应该是由用户的ISP维护的一直打开的机器,很多用户共享

2、发送方的用户代理也不能直接发送给对于自己来说不可达的接收方服务器,必须通过发送方邮件服务器才能进入更广袤的网络。
所以这四个节点都是必须的。1——SMTP——2——SMTP——3——邮件访问协议?——4

3、访问协议:拉!
1)POP3:首先,用户代理建立到邮件服务器上110端口的TCP连接。然后经过:特许登录,事务处理(取报文、标记报文),更新报文三个阶段。

2)IMAP:比POP复杂的多,在服务器上将报文与文件夹建立联系,用户可以操控其文件夹,IMAP服务器维护了用户状态信息。它还允许用户代理获取报文的部分内容,链路速度慢时很有用

3)HTTP:基于Web的电子邮件盛行,用户代理就是普通的浏览器。
注意:邮件服务器之间仍然使用SMTP

计算机网络(自顶向下学习笔记)---应用层协议之SMTP相关推荐

  1. 计算机网络自顶向下学习笔记

    计算机网络自顶向下学习笔记 第一章.计算机网络和因特网 1.1什么是因特网 1.1.1具体构成描述 1.1.2服务描述 1.1.3协议 1.2网络边缘 1.2.1接入网 1.2.2 物理媒体 1.3 ...

  2. 计算机网络-自顶向下方法-笔记【第2章-应用层】

    计算机网络-自顶向下方法-笔记[第2章-应用层] 学习的课程及图片来源:中科大郑烇.杨坚全套<计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)>课 ...

  3. 计算机网络-自顶向下方法-笔记【第3章-传输层】

    计算机网络-自顶向下方法-笔记[第3章-传输层] 学习的课程及图片来源:中科大郑烇.杨坚全套<计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)>课 ...

  4. 【计算机网络】学习笔记

    [计算机网络]学习笔记 1. 概论 因特网中的服务 计算机网络特点 计算机网络功能 计算机网络的分类 2. 性能指标 体系结构 ISO/OSI参考模型 3. 物理层 传输媒体 物理层的功能 调制 码元 ...

  5. 【转】医疗业务学习笔记--DICOM协议的基础内容!!!!!!!!!!

    转自:医疗业务学习笔记--DICOM协议的基础内容 - 知乎 本文首发于"雨夜随笔"公众号,欢迎关注. DICOM协议是医疗领域对如何处理.存储.打印和传输医疗图片的一系列标准.D ...

  6. 《计算机网络——自顶向下方法》学习笔记——应用层

    计算机网络--应用层 应用层 应用层协议原理 网络应用程序体系结构 进程通信 可供应用程序使用的运输服务 因特网提供的运输服务 应用层协议 Web和HTTP HTTP概况 非持续连接和持续连接 HTT ...

  7. 《计算机网络》学习笔记 ·006【应用层】

    注:前言.目录见 https://blog.csdn.net/qq_44220418/article/details/108428971 文章目录 一.域名系统 DNS 1.域名服务器 二.万维网 1 ...

  8. 408计算机网络学习笔记——应用层

    目录 1.应用层的功能 2.网络应用模型 2.1.客户/服务器模型(C/S) 2.2.P2P模型(peer to peer) 3.DNS系统 3.1.域名服务器 3.2.域名解析过程 4.FTP 5. ...

  9. 【计算机网络】学习笔记,第六篇:应用层(谢希仁版)

    一 DNS 域名系统 (一) 概述 许多应用层软件经常直接使用域名系统 DNS (Domain Name System),但计算机的用户只是间接而不是直接使用域名系统. 互联网采用层次结构的命名树作为 ...

  10. 计算机网络自顶向下方法(二)——应用层

    不作理想的巨人,行动的矮子 文章目录 写在前面 应用层协议原理 网络应用程序体系结构 客户-服务器(C/S)体系结构 对等体(P2P)体系结构 C/S和P2P体系结构的混合体 进程通信 分布式进程通信 ...

最新文章

  1. 你的首个 Progressive Web App
  2. 【Android 内存优化】Android 工程中使用 libjpeg-turbo 压缩图片 ( 初始化压缩对象 | 打开文件 | 设置压缩参数 | 写入压缩图像数据 | 完成压缩 | 释放资源 )
  3. [YTU]_2781( 重复字符串)
  4. Python3网络爬虫——(4)urllib.error异常处理
  5. OpenCV向JNI层的参数转换
  6. hapi常用插件(持续更新)
  7. r语言清除变量_如何优雅地计算多变量 | R语言进阶
  8. 飞鸽传书2007很给力
  9. 考研笔记-物理层协议
  10. image 微信小程序flex_第三天学习微信小程序开发总结
  11. android textView 折叠 展开 ExpandableTextView
  12. 伦敦大学学院计算机残疾,伦敦大学学院残疾、设计和创新理学硕士
  13. __FILE__ 与 $_SERVER['SCRIPT_FILENAME']的区别
  14. Anaconda下载安装Pytorch遇到的几个问题及解决办法
  15. 【雨滴风格 时间倒计时置顶显示小工具】
  16. I.MX RT1176笔记(3)-- 双核启动和通信 MU
  17. 【游戏开发进阶】玩转贝塞尔曲线,教你在Unity中画Bezier贝塞尔曲线(二阶、三阶),手把手教你推导公式
  18. C. Alternating Sum(数论——等比数列公式与变换)
  19. 【三维点云处理】PCA主成分析+实践(一)
  20. vscode 下载地址

热门文章

  1. linux的一些常用工具及需要安装的软件
  2. Element表格的竖向斑马纹、数据不同改变颜色(正数颜色为红色,负数颜色为绿色)
  3. 关于谭浩强著的C程序设计(第四版)的“规范化的指数形式”和“标准化指数形式”的问题
  4. 【教程】Windows下设置 kiftd开机自启动
  5. java项目总结范文_2018年java项目总结报告-范文word版 (7页)
  6. 使用Apache实现负载均衡。
  7. micropython lcd_Esp8266+PCF8574 LCD1602液晶显示屏+MicroPython测试(2020-09-25)
  8. go gin增删改查上传文件下载文件
  9. MySQL 总是差八个小时,如何破?
  10. 合三为一,Linux 基金会欲打造顶级开源峰会