type
status
date
slug
summary
tags
category
icon
password

电子邮件(EMail)

  • 三个重要组成部分
    • 用户代理
      • 用来发邮件的软件,代理用户进行一些协议动作
    • 邮件服务器
      • IP地址、端口号由用户代理配置好
      • 邮箱中管理和维护发送给用户的邮件
      • 输出报文队列保持待发送邮件报文
      • SMTP协议:发送email报文
      • 客户:发送方邮件服务器
      • 服务器:接收端邮件服务器
      • 用户代理发送邮件邮件服务器 目标邮件服务器用户代理拉取邮件
    • 简单邮件传输协议:SMTP
      • 使用TCP在客户端和服务器之间传送报文,端口号为25
      • 直接传输:从发送方服务器到接收方服务器
      • 传输的三个阶段
        • 握手 handshaking
        • 传输报文 message
        • 关闭
      • 命令/响应交互
        • 命令:ASCII文本
        • 响应:状态码和状态信息、状态码的解释
      • 报文必须为7位ASCII码
        • 好处:可以抓包后直接打出
  • 发邮件的例子:A给B发邮件
    • A使用用户代理撰写邮件并发给[email protected]
    • A的用户代理将邮件发送给他的邮件服务器:邮件放在报文队列中
    • SMTP的客户端打开到接收端服务器的TCP连接
    • 发送邮件
    • B的邮件服务器收到邮件,把邮件放到B的邮箱
    • B调用他的用户代理阅读邮件

邮件报文格式

  • 首部行
    • To
    • From
    • Subject
  • 主体
    • 报文,只能是ASCII码

邮件访问协议

用户代理发送方邮件服务器接收方邮件服务器用户代理
推送协议:SMTP
拉取协议:POP3、IMAP、HTTP
  • POP3协议
    • 客户端命令
      • user:申明用户名
      • pass:口令
    • 服务器响应
      • +OK
      • -ERR
    • 事务处理阶段
      • list:报文号列表
      • dele:删除,下载并删除模式
  • IMAP
    • 有状态
    • 在会话过程中会保留用户状态
    • 允许用户读取报文
    • 允许用户用目录来组织报文
数组Computer Networking Notes
  • Giscus