EMail:电子邮件
协议包括发送和拉取的协议
发送的协议:SMTP简单邮件传输协议
拉取的协议:POP3邮件传输协议,IMAP消息访问协议,HTTP超文本传输协议
HTTP超文本传输协议:
可以上载POST和下载GET文件;
用户代理:撰写发送邮件的客户端软件,如QQ邮箱,outlook邮箱【通过此软件来访问邮件的的应用】
浏览器是web应用的用户代理;FTP的客户端软件是FTP应用的用户代理
通过客户端软件与服务器交互
EMail:过程
用户代理配置好邮件服务器的IP地址和端口号,通过邮件服务器发邮件【把邮件发在邮件服务器的排队队列中,到队头再发送】,邮件服务器从队列中挨个地取邮件,之后向相应的目标邮件服务器发走;目标邮件服务器收到邮件之后,把其放在相应用户的目录【邮箱】当中
目标的用户收邮件,运行用户代理,从邮箱中把别人发给他的邮件拉取过来
因为源服务器和目标服务器都可以发送和拉取邮件,所以两个都可以是服务器和客户端
报文:Message
命令和响应都是ASCII码形式
报文必须是7位ASCII码,超过就不允许传输
EMail:举例
队列:邮件服务器的用户很多;邮件传输定时发送
简单的SMTP交互
邮件的内容全部是ASCII码形式,所以互联网打了补丁:MIME多媒体邮件扩展
如果客户端还要向服务器发邮件,继续在此连接上进行发送【持久的连接】
HTTP:
客户端向服务器请求–拉取
HTTP:一个对象一个报文
SMTP:多个对象一个报文【一个邮件包含了视频,文档,图片等】
邮件报文格式
To:发给谁
From:谁发的
Subject:邮件的标题title
常见的邮件信息:
cc抄送,同一份邮件同时发给另外的人
抄送就是将邮件同时发送给收信人以外的人,用户所写的邮件抄送一份给别人
MIME多媒体邮件扩展
传输的邮件ASCII码不够,使用MIME多媒体邮件扩展打补丁
使用base64的编码:
把邮件中若干个不在ASCII码范围内的字节转换为更长的在ASCII码范围内的字符【定义一个映射关系】,即可以通过SMTP协议传输
对方邮件:通过base64转换回来,使用MIME解释出来
邮件访问协议
前两跳是推【SMTP】;最后一跳是拉【POP3,IMAP,HTTP】
POP3协议与IMAP协议
POP3:
收发邮件可以跑在TCP和SSL上【加密】
retr:从邮箱中拉取邮件【下载邮件】
两种方式:
下载并删除模式【从一个地方拉取下来文件就会被删除】
下载并保留模式
pop3:仅仅能看到收件箱和发件箱
IMAP:能在远程创建目录,把邮件从一个目录搬到另一个目录【远程目录维护】