• 计算机网络基础06Email应用



    1 构成组件
      1.1 邮件客户端
      1.2 邮件服务器
      1.3 SMTP协议(RFC2881)
    2 为什么采用这种架构
    3 传输层协议
    4 Email其他说明
    5 SMTP交互示例
    6 手动尝试SMTP交互
    7 SMTP的特点
    8 和HTTP简要对比
    9 SMTP协议中消息格式
    10 MIME
    11 邮件访问协议

    1 构成组件

      邮件客户端

      邮件服务器

      SMTP协议 Simple Mail Transfer Protocol

    1.1 邮件客户端

      读写Email消息

      和服务器交互,收发消息

    1.2 邮件服务器

      邮箱:每位用户都有一个邮箱,存储发给该用户的Email

      消息队列:存储等待发送的Email

    1.3 SMTP协议(RFC2881)

      邮件服务器之间传递消息所使用的协议

      客户端:发送消息的服务器

      服务端:接受消息的服务器

    2 为什么采用这种架构

      为什么不直接从发送端到接收端,而要通过服务器?

        1、不能保证接收端一直在线

        2、如果对方不在线,那么发送端就得不断重试,发送端也不能关闭,知道成功发送

    3 传输层协议

      采用TCP(保证数据的可靠性)进行Email消息的可靠传输

    4 Email其他说明

      端口25

      传输过程的三个阶段

        握手

        消息传输

        关闭

      采用命令/响应交互模式

        命令:ASCII文本(由于Email出现很早,最初设计,Email只能包含7位ASCII码)

        响应:状态码和语句

      它是异步的

    5 SMTP交互示例

      

        服务器:220 这里是hamburger.edu服务器

      客户端:这里是crepes.fr

      服务器:250 很高兴见到你

      客户端:邮件发送者是<alice@crepes.fr>

      服务器:250 发送者没问题

      客户端:接受者<bob@hamburger.edu>

      服务器:250 接受者没问题

      客户端:我要开始发送了

      服务器:354 可以,.表示结束

      客户端:邮件内容....

      客户端:邮件内容....

      客户端:. 结束

      服务器:250 我接受到了邮件

      客户端:好的,结束

      服务器:221 连接已断开

    6 手动尝试SMTP交互

      使用telnet软件

    7 SMTP的特点

      使用持久性连接

      要求消息体必须由7位ASCII码构成

      SMTP服务器利用CRLF.CRLF确定消息的结束

    8 和HTTP简要对比

      HTTP:拉式(网页去找服务器要资源)   SMTP:推式(服务器推送邮件到客户端)

      都使用命令/响应交互模式

      命令和状态码都是ASCII码

      HTTP:每个对象封装在独立的响应消息中

      SMTP:多个对象在由多个部分构成的消息中发送

    9 SMTP协议中消息格式

       分为头部行和消息体

       头部行包括发送者和接受者,邮件标题

       消息体包含消息本身

    10 MIME(多媒体邮件扩展协议)

      由于消息体只能是ASCII字符,那么图片视频等文件怎么发送呢?

      这就用到了MIME:多媒体邮件扩展协议(RFC 2045,2056)

      通过在邮件头部增加额外的行以申明MIDE的内容类型

      

    11 邮件访问协议

        

      发送端发送邮件(SMTP)到达发送者邮件服务器,然后到达(SMTP)接受者邮件服务器,最后从接收者服务器到达接受者,这里不是采用的SMTP,而是邮件访问协议

      邮件访问协议:

        POP:Post Office Protocol

        IMAP:iNTERNRT mAIL Access Protocol

        HTTP:基于浏览器收发邮件时

    1)POP3协议

      允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等),不会反馈到服务器上,比如通过客户端收取了邮箱中的3封邮件并移动到其他文件夹,邮箱服务器上的这些邮件是没有同时被移动的 。很明显POP是无状态的

    2)IMAP

      提供webmail 与电子邮件客户端之间的双向通信,客户端的操作都会反馈到服务器上,对邮件进行的操作,服务器上的邮件也会做相应的动作。同时,IMAPPOP3那样提供了方便的邮件下载服务,让用户能进行离线阅读。IMAP提供的摘要浏览功能可以让你在阅读完所有的邮件到达时间、主题、发件人、大小等信息后才作出是否下载的决定。此外,IMAP 更好地支持了从多个不同设备中随时访问新邮件。IMAP是有状态的

  • 相关阅读:
    【Java123】HTTP Post Form Data 传输的Java实现
    【数据库123】Oracle数据库数据实时监控
    【Java123】Java基础知识点
    【测试123】ISTQB AL
    【Git123】Git 常用命令
    [Java123] Spring
    【Java123】JavaWeb Servlet开发
    [Java123] JBoss
    [SQL123] Oracle SQL 统计一定时间间隔内的数据
    【测试123】性能测试之压力测试
  • 原文地址:https://www.cnblogs.com/jthr/p/15890131.html
Copyright © 2020-2023  润新知