计算机网络笔记No.6

Email应用的构成

  • 邮件客户端(user agent) —— 应用的外围
    • 读、写Email消息
    • 与服务器交互,收、发Email消息
    • Outlook, Foxmail, Thunderbird
    • Web客户端
  • 邮件服务器 —— 核心
    • 邮箱:存储发给该用户的Email
    • 消息队列(message queue):存储等待发送的Email
  • SMTP协议(Simple Mail Transfer Protocol)
    • 邮件服务器 之间传递消息所使用的协议
    • 客户端:发送消息的服务器
    • 服务器:接收消息的服务器

SMTP协议:(RFC 2821)

  • 使用TCP进行email消息的可靠传输
  • 端口25
  • 传输过程的三个阶段
    • 握手
    • 消息的传输
    • 关闭
  • 命令/响应交互模式
    • 命令(command): ASCII文本
    • 响应(response): 状态代码和语句
  • Email消息只能包含7位ASCII码 —— 最开始只有文本
  • email是异步应用

SMTP交互示例:
计算机网络笔记No.6

  • 特点
    使用持久性连接
    要求消息必须由7位ASCII码构成
    SMTP服务器利用CRLF.CRLF确定消息的结束

与HTTP对比:

  • 异:
    HTTP: 拉式(pull) —— SMTP: 退式(push)
    HTTP: 每个对象封装在独 立的响应消息中 —— SMTP: 多个对象在由多个 部分构成的消息中发送
  • 同:
    都使用命令/响应交互模式
    命令和状态代码都是ASCII 码

Email消息格式与POP3协议

SMTP:email消息的传输/交换协议
RFC 822:文本消息格式标准

  • Email消息格式 : 头部行(header) + 消息体(body)

    • 头部行(header)
      • To
      • From
      • Subject
    • 消息体(body)
      • 消息本身
      • 只能是ASCII字符
  • Email消息格式:多媒体扩展
    MIME:多媒体邮件扩展 RFC 2045, 2056
    通过在邮件头部增加额外的行以声明MIME的内容类型
    计算机网络笔记No.6

  • 邮件访问协议:从服务器获取邮件

    • POP: Post Office Protocol [RFC 1939]
      • 认证/授权(客户端服务器)和下载
    • IMAP: Internet Mail Access Protocol [RFC 1730]
      • 更多功能、更加复杂、能够操纵服务器上存储的消息
    • HTTP:163, QQ Mail等
  • POP:

    • POP3是无状态的
    • “下载并删除”模式 —— 用户如果换了客户端软件,无法重读该邮件
    • “下载并保持”模式:不同客户端都可以保留消息的拷贝
      计算机网络笔记No.6
  • IMAP:

    • 所有消息统一保存在一个地方:服务器
    • 允许用户利用文件夹组织消息
    • IMAP支持跨会话(Session)的用户状态:
      • 文件夹的名字
      • 文件夹与消息ID之间的映射等

计算机网络笔记No.6
—————————————————————————————————————————————

由于本人水平有限及时间仓促或疏忽大意以及其他的一些原因,文中难免会存在一些错误,如若有发现不正确的地方,还请大佬们评论或私信告之于我,以便及时纠错