二 . Email应用
1. Email应用的组成
电子邮件(E-mail)是互联网上使用最多的和最受欢迎的一种应用。电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱(mail box)中,收件人可在自己方便时上网到自己使用的邮件服务器进行读取。相当于互联网为用户设立了存放邮件的信箱。
其中的邮件服务器必须24小时不间断地工作,否则很可能漏掉外面发来的邮件。并且邮件服务器需要使用两种不同的协议。一种协议用于邮件客户端向邮件服务器发送邮件或邮件服务器之间发送邮件,如SMTP协议。而另一种协议用于邮件客户端从邮件服务器上读取邮件,如邮局协议POP3。
Email应用的构成组件:
- 邮件客户端/用户代理(user agent)
- 邮件服务器(Mail Server)
- 邮件发送协议SMTP(Simple Mail Transfer Protocol)和邮件读取协议POP3(Post Office Protocol)
邮件客户端/用户代理(UA):
- 读,写Email消息
- 与服务器交互,收,发Email消息
- Outlook,网易邮箱,QQ邮箱
- Web客户端
邮件服务器:
- 邮件:存储发给该用户的Email
- 消息队列(message queue):存储等待发送的Email
SMTP协议:
- 邮件服务器之间传递消息所使用的协议
- 客户端:发送消息的服务器
- 服务器:接收消息的服务器
接下来解释一下上图给出的计算机之间发送和接收电子邮件的关键步骤。请注意,SMTP和POP3(或IMAP)都是使用可靠的TCP连接来传输邮件的:
①发件人调用计算机中的邮件客户端/用户代理撰写和编辑要发送的邮件。
②发件人点击“发送邮件”按钮,把发送邮件的工作交给邮件客户端来完成。邮件客户端把邮件用SMTP协议发给发送方邮件服务器,邮件客户端充当SMTP客户,而发送方邮件服务器充当SMTP服务器。邮件客户端所进行的这些工作,用户是看不到的,有的邮件客户端可以让用户在屏幕上看到邮件发送的进度显示。
③SMTP服务器收到邮件客户端发来的邮件后,就把邮件临时存放到邮件缓存中,等待发送到接收方的邮件服务器。
④发送方邮件服务器的SMTP客户与接收方邮件服务器的SMTP服务器建立TCP连接,然后就把邮件缓存队列中的邮件依次发送出去。
⑤运行在接收方邮件服务器中的SMTP服务器进程收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人读取
⑥收件人在打算收件时,就运行计算机的邮件客户端,使用POP3或IMAP协议读取发送给自己的邮件。
2. 遵循的协议
邮件发送协议(SMTP)和邮件读取协议(POP3,IMAP)
SMTP协议: 使用面向连接的TCP进行email消息的可靠传输
- 服务器在25端口等待客户的请求
- 传输过程的三个阶段----握手,消息传输,关闭
- 命令/响应交互模式
POP3协议: 特点是只要用户从POP3服务器读取邮件,POP3服务器就把该邮件删除。