计算机网络——11EMail

EMail

电子邮件(EMail)

3个主要组成部分

  • 用户代理
  • 邮件服务器
  • 简单邮件传输协议:SMTP

用户代理

  • 又名"邮件阅读器"
  • 撰写、编辑和阅读邮件
  • 输入和输出邮件保存在服务器上

邮件服务器

  • 邮箱中管理和维护发送给用户的邮件
  • 输出报文队列保持待发送邮件报文
  • 邮件服务器之间的SMTP协议:发送emmail 报文
    • 客户:发送方邮件服务器
    • 服务器:接收端邮件服务器

EMail:SMTP[RFC 2821]

  • 使用TCP在客户端和服务器之间传送报文,端口号为25
  • 直接传输:从发送方服务器到接收方服务器
  • 传输的三个阶段
    • 握手
    • 传输报文
    • 关闭
  • 命令/相应交互
    • 命令:ASCII文本
    • 响应:状态码和状态信息
  • 报文必须为7位ASCII码

邮件发送流程

举例:Alice给Bob发送报文

  • Alice使用用户代理撰写邮件并发送给 bob@someschool.edu
  • Alice的用户代理将邮件发送到她的邮件服务器;邮件放在报文队列中
  • SMTP的客户端打开到Bob邮件服务器的TCP连接(建立TCP连接)
  • SMTP客户端通过TCP连接发送Alice的邮件
  • Bob的邮件服务器将邮件放到Bob的邮箱(POP3,)
  • Bob调用他的用户代理阅读邮件

简单的SMTP交互

以下是两个右键服务器进行SMTP交互的流程

  • C:客户,发送方邮件服务器

  • S:服务器,接收方邮件服务器

    S: 220 hamburger.edu
    C: HELO crepes.fr
    S: 250 Hello crepes.fr, pleased to meet you
    C: MAIL FROM: alice@crepes.fr #邮件来自的邮箱
    S: 250 alice@crepes.fr... Sender ok #接受成功
    C: RCPT TO: bob@hamburger.edu #邮件去往的邮箱
    S: 250 bob@hamburger.edu ... Recipient ok # 接受成功
    C: DATA # 邮件信息
    S: 354 Enter mail, end with "." on a line by itself
    C: Do you like ketchup?
    C: How about pickles?
    C: .
    S: 250 Message accepted for delivery
    C: QUIT
    S: 221 hamburger.edu closing connection

SMTP 总结

  • SMTP使用持久连接
  • SMTP要求报文(首部和主体)为7位ASCII编码
  • SMTP服务器使用CRLF,CRLF决定报文的尾部

HTTP比较

  • HTTP:拉(pull)
  • SMTP:推(push)
  • 二者都是ASCII形式的命令/响应交互、状态码
  • HTTP:每个对象封装在各自的响应报文中
  • SMTP:多个对象包含在一个报文中

邮件报文格式

SMTP:交换email报文的协议

RFC 822:文本交换的标准

  • 首部行:如

    • To:
    • From:
    • Subject:

    与SMTP命令不同

  • 主体

    • 报文,只能是ASCII码字符

报文格式:多媒体拓展

  • MIME:多媒体邮件扩展(multimedia mail extension), RFC 2045, 2056
  • 在报文首部用额外的行申明MIME内容类型

邮件访问协议

  • SMTP: 传送到接收方的邮件服务器
  • 邮件访问协议:从服务器访问邮件 (3种方式)
    • POP3:邮局访问协议(Post Office Protocol)[RFC 1939]
      • 用户身份确认 (代理<-->服务器) 并下载
    • IMAP:Internet邮件访问协议(Internet Mail Access Protocol)[RFC 1730]
      • 更多特性和功能 (更复杂) ;在服务器上处理存储的报文
    • HTTP:Hotmail , Yahoo! Mail等
      • 方便

POP3协议

用户确认阶段

  • 客户端命令:
    • user: 申明用户名
    • pass: 口令
  • 服务器响应
    • +OK
    • -ERR

事物处理阶段

客户端:

  • list: 报文号列表

  • retr: 根据报文号检索报文

  • dele: 删除

  • quit:关闭连接

    用户确认阶段

    S: +OK POP3 server ready
    C: user bob
    S: +OK
    C: pass hungry
    S: +OK user successfully logged on

    事物处理阶段

    C: list
    S: 1 498
    S: 2 912
    S: .
    C: retr 1
    S: <message 1 contents>
    S: .
    C: dele 1
    C: retr 2
    S: <message 1 contents>
    S: .
    C: dele 2
    C: quit
    S: +OK POP3 server signing off

  • 先前的例子使用 "下载 并删除"模式。

    • 如果改变客户机,Bob不 能阅读邮件
  • "下载并保留":不同 客户机上为报文的拷贝

  • POP3在会话中是无状态的

IMAP

  • IMAP服务器将每个报文 与一个文件夹联系起来
  • 允许用户用目录来组织 报文
  • 允许用户读取报文组件
  • IMAP在会话过程中保留 用户状态:
    • 目录名、报文ID与目录名 之间映射
相关推荐
Controller-Inversion5 小时前
cdn协议
计算机网络·github
广州服务器托管5 小时前
NVIDIA最新591.74显卡驱动精简版:支持DLSS 4.5、所有RTX显卡都可使用,最新N卡驱动下载
计算机网络·网络安全·云原生·个人开发·可信计算技术
ikkkkkkkl9 小时前
计算机网络:物理层
网络·计算机网络·物理层
广州服务器托管12 小时前
比较优秀的视频音频播放器PotPlayer64-v1.7.22764绿色版
运维·windows·计算机网络·电脑·音视频·可信计算技术
今儿敲了吗12 小时前
计算机网络第三章笔记(二)
笔记·计算机网络
镜中人★13 小时前
408计算机网络考纲知识点(更新中)
网络·网络协议·计算机网络
swan41614 小时前
SCAU期末笔记 - 计算机网络复习要点整理
服务器·笔记·计算机网络
星马梦缘14 小时前
计算机网络期末焚决 2024级
网络·计算机网络·dns·ospf·流量控制·路由算法·拥塞控制
君鼎15 小时前
计算机网络第四章:网络层学习总结
学习·计算机网络
ikkkkkkkl15 小时前
计算机网络:应用层
网络·计算机网络·应用层