呼伦贝尔学院计算机系
题目: SMTP与POP3协议分析
学生姓名:李慧
学号: 201312104010
专业班级: 2013级网络工程本四
指导教师:曹晶秀
完成时间: 2015年12月
SMTP与POP3协议分析
Xx
(xx学院计算机系,xx市029000)
摘要:电子邮件作为互联网中交换信息广泛的通信工具之一,如今都已被广大用户接受。早期的电子邮
件只是从一个计算机终端向另外一个计算机终端传送文本信息,而现在的电子邮件不仅可以发送文本信息,还可以传送声音、图片、文档等多种信息。很多邮件客户端软件被用户利用起来,例如Outlook,Foxmail,但是大多用户不了解邮件传输的协议,本文通过介绍SMTP和POP3协议,使用户更加了解邮
件传输协议。
关键词:邮件传输协议;SMTP;POP3
中图分类号:TP3-0
引言
在生活中、工作中,电子邮件都是必不可少的沟通交流工具,电子邮件(electronic mail,简称E-mail,标志:@,也被大家昵称为“伊妹儿”),又称电子信箱、电子邮政,它是—种用电子手段提供信息交换的通信方式,是Internet应用最广的服务,通过网络的电子邮件系统,用户可以用非常低廉的价格(不管发送到哪里,都只需负担电话费和网费即可),以非常快速的方式(几秒钟之内可以发送到世界上任何你指定的目的地),与世界上任何一个角落的网络用户联系,这些电子邮件可以是文字、图像、声音等各种方式。同时,用户可以得到大量免费的新闻、专题邮件,并实现轻松的信息搜索。
1 SMTP协议
1.1 SMTP协议基本介绍
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。
1.2 SMTP协议工作过程
1.SMTP是工作在两种情况下:一是电子邮件从客户机传输到服务器;二是从某一个服务器传输到
另一个服务器。
2.SMTP是个请求/响应协议,命令和响应都是基于ASCII文本,并以
括一个表示返回状态的三位数字代码
3.SMTP在TCP协议25号端口监听连接请求
4.连接和发送过程:
a.建立TCP连接
b.客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令服务器端正希望以
ok作为响应,表明准备接收
c.客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行服务器端则表示
是否愿意为收件人接受邮件
d.协商结束,发送邮件,用命令data发送
e.以.表示结束输入内容一起发送出去
f.结束此次发送,用QUIT命令退出。
5.另外两个命令:
VRFY---用于验证给定的用户邮箱是否存在,以及接收关于该用户的详细信息。
EXPN---用于扩充邮件列表。
1.3 SMTP应答码
图1-1 SMTP应答码列表
1.4 SMTP基本命令
表1-1 SMTP基本命令表
1.5 SMTP协议实验步骤
客户端向服务器发送命令“EHLO”,并加上本机的主机名(PC-2015112911 17),服务器响应并回复(250表示服务器可用)
客户端向服务器发送用户登录命令“AUTH LOGIN”,服务器回复表示接受(“334”表示接受)
客户端输入经过base64位编码后的用户名
服务器提示输入base64位编码后的密码
客户端输入经过base64位编码后的密码
客户端分别先后向服务器发送“MAIL FROM”和“RCPT TO”命令,后面分别加上发件人的邮箱地址和收件人的邮箱地址,服务器分别回应“250 Mail OK”表示成功接受
接下来客户端向服务器发送命令“DATA”,表示将要向服务器发送邮件正文,服务器回应“354 End data with
客户端向服务器发送邮件,大小为426 bytes
服务器接收成功
邮件已成功发送到服务器,客户端向服务器发送命令“QUIT”,释放服务器连接,服务器返回“221”表示同意
双方释放TCP连接,通信过程结束。
2.POP3协议
2.1 POP3协议的概念
POP3,全名为“Post Office Protocol - Version 3”,即“邮局协议版本3”。POP适用于C/S结构的脱机模型的电子邮件协议,是TCP/IP协议族中的一员,由RFC1939 定义。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。提供了SSL加密的POP3协议被称为POP3S。
POP 协议支持“离线”邮件处理。其具体过程是:邮件发送到服务器上,电子邮件客户端调用邮件客户机程序以连接服务器,并下载所有未阅读的电子邮件。这种离线访问模式是一种存储转发服务,将邮件从邮件服务器端送到个人终端机器上,一般是PC机或 MAC。一旦邮件发送到 PC 机或MAC上,邮件服务器上的邮件将会被删除。但目前的POP3邮件服务器大都可以“只下载邮件,服务器端并不删除”,也就是改进的POP3协议。
2.2 POP3协议通信过程
用户从邮件服务器上接收邮件的典型通信过程如下:
1)用户运行用户代理(如Foxmail, Outlook Express)。
2)用户代理(以下简称客户端)与邮件服务器(以下简称服务器端)的110端口建立TCP连接。
3)客户端向服务器端发出各种命令,来请求各种服务(如查询邮箱信息,下载某封邮件等)。
4)服务端解析用户的命令,做出相应动作并返回给客户端一个响应。
5) 3)和4)交替进行,直到接收完所有邮件转到步骤6),或两者的连接被意外中断而直接退出。
6)用户代理解析从服务器端获得的邮件,以适当地形式(如可读)的形式呈现给用户。
其中2)、3)和4)用POP3协议通信。
2.3命令和响应格式
POP3的命令不多,它的一般形式是:COMMAND [Parameter]
服务器响应是由一个单独的命令行组成,或多个命令行组成,响应第一行“+OK”或“-ERR”
开头,然后再加上一些ASCII文本。“+OK”和“-ERR”分别指出相应的操作状态是成功的还是失败的。
2.4 POP3协议的三个状态
POP3协议中有三种状态,认正状态,处理状态,和更新状态。命令的执行可以改变协议的状态,而对于具体的某命令,它只能在具体的某状态下使用。