https://www.bilibili.com/video/BV1Up411Z7hC?p=26
如有错误之处请指出,谢谢!
目录
POP:Post Office Protocol[RFC 1939]
IMAP:Internet Mail Access Protocol[RFC 1730]
p26-p27
Email应用
Email应用的构成组件
邮件客户端(user agent)
邮件服务器
SMTP协议(Simple Mail Transfer Protocol)
邮件客户端
读、写Email消息
与服务器交互,收、发Email消息
Outlook,Foxmail,Thunderbird
Web客户端
邮件服务器
邮箱:存储发给该用户的Email
消息队列:存储等待发送的Email
SMTP协议
邮件服务器之间传递消息所使用的协议
客户端:发送消息的服务器
服务器:接收消息的服务器
采用邮件服务器的好处:
PC端不能保证7*24小时在线,如果直连则用户需要等待对方在线才能退出,邮件服务器方便了用户使用。
SMTP协议:RFC 2821
使用TCP进行Email消息的可靠传输
端口25
传输过程的三个阶段:1、握手2、消息的传输3、关闭
命令/响应交互模式:
1、命令:ASCII文本
2、响应:状态代码和语句
Email消息只能包含7为ASCII码
Email实例
1 用户1用自己的邮件客户端写了个消息
2 用户1把自己的邮件消息发送给自己的邮件服务器
3 邮件服务器队列把队列中的消息发送到对方的邮件服务器队列中
4 用户2在某一时刻利用邮件客户端获取邮件消息
email是个异步应用,发送发与接收方不一定同时
SMTP交互示例
S:Server C:Client
SMTP协议与HTTP协议对比![](https://i-blog.csdnimg.cn/blog_migrate/47f299731ff8fe7df3848cd6042fce7b.png)
Email消息格式与POP3协议
Email消息格式
多媒体扩展
声明有多媒体内容、编码格式、文件类型
邮件访问协议
作用:从服务器获取邮件
POP:Post Office Protocol[RFC 1939]
认证/授权(客户端<-->服务器)和下载
IMAP:Internet Mail Access Protocol[RFC 1730]
更多功能
更加复杂
能够从操纵服务器上存储的消息
HTTP:163、QQ Mail(基于web的Email)
POP3协议
认证过程
客户端命令:User:声明用户名
Pass:声明密码
服务器响应:+OK
-ERR
事务阶段
List:列出消息数量
Retr:用编号获取消息
Dele:删除消息
Quit:推出
“下载并删除”模式
如果用户换了客户端软件,无法重读该邮件
“下载并保持”模式
不同客户端都可以保留消息的拷贝
POP3是无状态的
IMAP协议
所有消息统一保存在一个地方:服务器
允许用户利用文件夹组织消息
IMAP支持跨会话(Session)的用户状态:
文件夹的名字
文件夹与消息ID之间的映射等