Email应用与SMTP协议
Email应用层的构成
客户端+服务器+协议
用户代理
用于读写邮件消息;与服务器交互,收发邮件消息
 常见的客户端:Outlook,Foxmail(这两个是需要下载的客户端),Web客户端(在网页上使用,十分方便)
服务器
为每一个用户分配一个邮箱。邮箱里存储发给该用户的邮件。
 消息队列:存储等待发送的邮件
 为什么需要服务器进行中转?——因为邮件是异步的。
传输协议
SMTP(RFC 2821)
依赖TCP协议,可靠传输,端口25。
 模式:命令-响应模式。推送式。命令和响应都以ASCII码表示,即人可读。
 Email消息只能包含7位ASCII码,因为古老,早时没有多媒体。附件怎么办?——MIME(后讲)。
 
 持久性连接。
 回车换行 点号 回车换行表示消息结束。
 多个对象封装在一个消息中(一个消息可以有多个部分)。
Email消息的格式(RFC 822 文本消息格式标准)

 头部行(header,包括To,From, Subject)和消息体(body,消息本身,只能是ASCII字符)之间用一个空行分隔开。
多媒体扩展MIME(RFC 2045,2056)
需在header中增加额外声明,来使用MIME。
 
邮件存取协议:pop3、http
上传和下载是相对于客户端的,推送和拉取也是相对于客户端说的。