计算机网络笔记No.6
网络应用深入之Email应用
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交互示例:
-
特点:
使用持久性连接
要求消息必须由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字符
- 头部行(header)
-
Email消息格式:多媒体扩展
MIME:多媒体邮件扩展 RFC 2045, 2056
通过在邮件头部增加额外的行以声明MIME的内容类型 -
邮件访问协议:从服务器获取邮件
-
POP: Post Office Protocol [RFC 1939]
- 认证/授权(客户端服务器)和下载
-
IMAP: Internet Mail Access Protocol [RFC 1730]
- 更多功能、更加复杂、能够操纵服务器上存储的消息
- HTTP:163, QQ Mail等
-
POP: Post Office Protocol [RFC 1939]
-
POP:
- POP3是无状态的
- “下载并删除”模式 —— 用户如果换了客户端软件,无法重读该邮件
- “下载并保持”模式:不同客户端都可以保留消息的拷贝
-
IMAP:
- 所有消息统一保存在一个地方:服务器
- 允许用户利用文件夹组织消息
- IMAP支持跨会话(Session)的用户状态:
- 文件夹的名字
- 文件夹与消息ID之间的映射等
—————————————————————————————————————————————
由于本人水平有限及时间仓促或疏忽大意以及其他的一些原因,文中难免会存在一些错误,如若有发现不正确的地方,还请大佬们评论或私信告之于我,以便及时纠错