您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 东南大学仪科计算机网络实验-通信网络实验3-pop编程-邮箱
信息网络概论实验报告实验三POP编程姓名:王璞学号:22012313一、实验目的1、掌握pop3协议;2、理解pop3协议中的相关指令;3、与socket中的内容相结合。二、实验条件和环境本实验基于控制台编程,在VS2010环境下运行。三、实验内容1、设定服务器地址、帐户、密码后能够连接到POP3服务器2、能从pop3服务器中检查所有邮件3、可以查看邮件内容4、可以删除邮件5、可实现附件的接收四、实验原理POP3全称为PostOfficeProtocolversion3,即邮局协议第3版。它被用户代理用来邮件服务器取得邮件。用户从邮件服务器上接收邮件的典型通信过程如下。1、用户运行用户代理(如Foxmail,OutlookExpress)。2、用户代理(以下简称客户端)与邮件服务器(以下简称服务器端)的110端口建立TCP连接。3、客户端向服务器端发出各种命令,来请求各种服务(如查询邮箱信息,下载某封邮件等)。4、服务端解析用户的命令,做出相应动作并返回给客户端一个响应。5、3和4交替进行,直到接收完所有邮件转到步骤6,或两者的连接被意外中断而直接退出。6、用户代理解析从服务器端获得的邮件,以适当地形式(如可读)的形式呈现给用户。POP3的命令的一般形式是:COMMAND[Parameter]CRLF。其中COMMAND是ASCII形式的命令名,Parameter是相应的命令参数,CRLF是回车换行符(0DH,0AH)。服务器响应是由一个单独的命令行组成,或多个命令行组成,响应第一行“+OK”或“-ERR”开头,然后再加上一些ASCII文本。“+OK”和“-ERR”分别指出相应的操作状态是成功的还是失败的。POP3协议中有三种状态,认正状态,处理状态,和更新状态。命令的执行可以改变协议的状态,而对于具体的某命令,它只能在具体的某状态下使用,客户机与服务器刚与服务器建立连接时,它的状态为认证状态;一旦客户机提供了自己身份并被成功地确认,即由认可状态转入处理状态;在完成相应的操作后客户机发出QUIT命令则进入更新状态,更新之后又重返认可状态;在认可状态下执行QUIT命令,可释放连接。五、实验过程本次实验采用网易邮箱的pop3服务器,实现用户登录、邮件列表查看、删除邮件、邮件下载的功能,具体软件流程图如图1:开始连接服务器发送用户名和密码选择所需要的服务断开连接结束图1软件流程图○1实验中首先定义了一个Sock类,用以实现与服务器的连接与发送指令和得到反馈信息:Pop3协议使用端口号110,163邮箱用以提供pop3服务的地址为pop3.163.com;○2确定服务器后,首先与服务器进行连接连接成功则返回成功信息;○3采用userusername(未认证)输入用户名指令向服务器发送用户名指令以换行符结束;○4采用passpassword(未认证)输入密码指令向服务器发送密码,若密码与用户名均验证成功,则进入认证状态。对于163邮箱,在邮箱设置页面开通pop3后才可使用,并且登录密码为开通时获取的客户端授权码,并不是平常所用的网页邮箱密码。○5采用statnone(认证)请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数其中Sleep(1)为本线程暂停1ms,用以降低CPU的占用率;○6选择服务列表通过switch,case语句实现5种功能的选择;○7采用uidl[msg#](认证)指令显示邮件列表○8采用list[msg#](认证)指令显示所选邮件的大小○9采用dele[msg#](认证)指令删除所选邮件,程序部分如上述两种指令相同;○10采用retr[msg#](认证)指令下载所选择的邮件这个部分的循环写的有些问题,试了各种办法也不能解决掉,所以最好最后再试这个功能,不然会等很久都跳不出来。同时,Pop3协议对邮件的正文部分采用了base64编码,因为时间的关系,没能完成解码部分,所以下载下来的邮件也都是编码之后的。六、实验结果1、运行sever.exe,按提示输入用户名、密码,登录邮箱:显示有总邮件数74和总大小以及功能选项;2、查看邮件列表:3、查看选定邮件大小:4、删除邮件此时再获得邮件列表邮件总数为73,序号为1的邮件已删除;5、查看邮件内容:6、退出邮箱邮箱退出后,对各操作将不会再有反应。七、实验总结虽然有socket实验做铺垫,但是对于POP3,我最终做出来的结果不是很理想。虽然在实验的查找资料过程中,对整个协议的整体构架和工作流程都有了很深入的了解,也下了很大的功夫,但是由于时间问题,对于解码和编码以及邮件不同部位的解码和编码方式方面,仍然没能完成。同时整个系统也有不少缺陷。另一方面,对于本次实验我采用的是控制台的方式,控制台相对于MFC,整体架构比较简单,同时也暴露了它的局限性。
本文标题:东南大学仪科计算机网络实验-通信网络实验3-pop编程-邮箱
链接地址:https://www.777doc.com/doc-5818300 .html