Email

Email应用的构成

  • 构成组件
    • 邮件客户端(User Agent)
      • 读写Email消息
      • 与服务器交互,收发Email消息
      • Outlook,Foxmail,Thunderbird
      • Web客户端
    • 邮件服务器
      • 储存发给该用户的Email
      • 消息队列:储存等待发送的E-mail
    • SMTP协议
      • 邮件服务器之间传递消息所使用的协议

        4.5.2. SMTP协议-RFC 2821

  • 端口为25
  • 使用TCP进行Email消息的可靠性传输
  • 传输过程的三个阶段,握手,消息传输,关闭
  • 命令/响应交互模式
    • 命令:ASCII文本
    • 响应:状态代码和语句
  • 协议特点
    • 使用持久性连接
    • 要求消息为7位ASCII码构成
    • SMTP服务器利用CRLF(确定消息的结束)
  • 与HTTP对比
    • HTTP:拉式(pull)
    • SMTP:退式(push)
    • 都使用命令/响应交互模式
    • HTTP:每个对象封装在独立的响应消息中
    • SMTP:多个对象在由多个部分构成的消息中发送

      4.5.3. Email消息格式:多媒体扩展

  • SMTP:Email消息的传输/交换协议
  • RFC 822:文本消息格式标准
    • 头部行header: To, From, Subject
    • 消息体body: 消息本身,只能说ASCII字符
    • MIME:多媒体邮件扩展 RFC 2045,2056
      • 通过在邮件头部增加额外的行以声明MIME的内容类型

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

  • POP: Post Office Protocol
    • 认证/授权
    • 认证过程:客户端命令,服务器响应
    • 事务阶段:List,Retr,Dele,Quit
    • 下载并删除模式/下载并保持模式
    • POP3是无状态的
  • IMAP:Internet Mail Access Protocol
    • 所有消息统一保存在一个地方:服务器
    • 允许用户利用文件夹组织消息
    • IMAP支持跨绘话的用户状态:
      • 文件夹的名字
      • 文件夹与消息ID之间的映射
  • HTTP:163,QQ mail等