邮件基于POP3的邮件收发系统的设计与实现

pop3  时间:2021-02-20  阅读:()

题 目 基于POP3的邮件收发系统的设计与实现学生姓名 陈新鹏 学号 1213014008所在学院 物理与电信工程学院专业班级 电子1201班指导教师 李菊叶完成地点 物电学院计算机信息处理实验室

2016年6月5日

陕西理工学院毕业设计

毕业论文设计任务书

院(系) 物电学院 专业班级 电子信息工程 学生姓名 陈新鹏

一、毕业论文设计题目 基于POP3的邮件收发系统的设计与实现

业二论、文毕业论设计文进设行计地点工:作自__2016__年_3_月物1电0日学起院至计_算20机16信__息年6处月理三分、室毕

四、毕业论文设计的内容要求

POP3 Post office Protocol 3是适用于C/S结构的脱机模型电子邮件协议 它规定怎样将个人计算机连接到Internet的邮件服务器下和下载电子邮件的协议。

本设计要求学生在Visual c++环境下 使用POP3技术开发一个邮件接收系统接收邮件服务器上的邮件之后 把邮件下载并保存到本地计算机上 要求可以提取邮箱里的邮件数量和标题字

五、毕业论文设计应收集资料及参考文献

[1]徐孝凯张纪勇.C++面向对象程序设计 VC++6.0运行环境[M].天津大学出版社2009.

[2]汪晓平,钟军.VC++网络通信协议分析与应用实现[M].北京:人民邮电出版社,2003.

[3]王艳平,张越.Windows网络与通信程序设计[M].北京:人民邮电出版社,2006.

[4]Andrew S.T anenbau.计算机网络(第四版)[M].北京:清华大学出版社,2004.

[5]谢希仁.计算机网络(第五版)[M].北京:电子工业出版社,2012.

[6]朱桂英.张元亮Vis ual C++网络编程开发与实践[M] .清华大学出版社.2013.

六、毕业论文设计的进度安排

3月2日——3月29日查阅资料 完成初步设计方案和开题报告。

4月1日——4月26日 根据POP3邮件收发系统的工作原理 给出设计方案 及软件流程图。 4月29日——5月24并在软件环境下进行运行调试进一步完善系统功能整理资料

6月10日——6月15日打印论文准备并完成答辩。指导教师签名 系(教研室)主任签名专业负责人签名 批准日期

陕西理工学院毕业设计

基于POP3的邮件收发系统的设计与实现

陈新鹏

陕西理工学院物理与电信工程学院电子信息工程专业 2012级1班 陕西汉中723000

指导教师:李菊叶

[摘要]电子邮件是互联网基础服务中重要的一部分。从互联网在上世纪90年代开始逐步发展之时到今天信息极大丰富的互联网20时代实现电子邮件POP3收取都有重要的意义。本设计使用Visual Studio2010作为开发平台使用Windows Socket2应用程序接口实现了一个具有POP3邮件接收和保存功能的计算机邮件接收程序 同时介绍了POP3邮件接收协议、 base64解码方法和基于Windows下VisualC++的程序设计以及实现的方法。

[关键字]电子邮件;P OP 3协议;Winsock2;VisualC++

陕西理工学院毕业设计

ChenXinpeng

Grade12,Class01,Majore lec tronicsandinformationengineeringSchoolofPhysic sandTelecommunic ationEng ineer ing,ShaanxiUniversityofTechnology,H a nz h o ng723000,Shaanxi

Tuto r:L iJ uye

Abstract:E-mail isanimp ortantp artofbasicInternet s ervice Fromthebeginn in gofthep rogres sivedeve lop ment oftheInternetinthe 1990s,tothegreatwealthofinformat ionintheInt ernet20erat oday,achievein gthee-mailPOP3 charge alway s isanimp ortantsignifi canc e Thisdesignuses Visual Studio2010asthedevelop mentp latform,usingtheWindows Socket2app licationp rogramint erface,achiev edaco mp ut ermailrec eivin gp rogr amwhichh avin gaP OP 3mai lrec eivin gandstoringfunctionwiththePOP 3 mailrece ivin gp rot ocolwhichbas edonWindowsunder VisualC++p rogrammin gandmethods ofimp lementation

Key wo rd s:E-mail;POP3protocol;Winsock2;VisualC++

陕西理工学院毕业设计

目录

1 . 引言∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙1

1.1 背景∙ ∙ ∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙1

1.2 研究目的∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙1

1.3 开发环境及语言∙ ∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙1

1.3.1 开发环境∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙1

1.3.2 开发语言∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙2

1.4WinSock2简介

∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙32.POP3协议与传输标准

∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙5

2. 1POP3状态简述∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙5

2.1.1 认证(Authorization)状态∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙5

2.1.2 事务(Transaction)状态∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙∙ ∙6

2.1.3 更新(Updata)状态∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙7

2.2Base64 标 准

∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙ ∙ ∙82.2.1BASE64编

码∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙82.2.2BA SE64解码

∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙9

2.3 中文字符编码标准∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙∙9

2.3.1GB2312 字 符 集

∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙92.3.2GBK 字 符 集

∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙ ∙∙92.3.3UNICODE编码

3.∙ ∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙9系统流程和规划

∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙10

3.1 主程序总体设计∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙10

3.2POP3执行流程

∙ ∙ ∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙113.3BASE64解码流程

∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙13

3.3.1 主题与发件人解码∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙13i

陕西理工学院毕业设计

3.3.2 邮件正文解码∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙14

3.4 邮件保存流程∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙15

4.POP3邮箱的C++实现

∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙174.1TCP发送接收的实现

∙ ∙ ∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙17

4.1.1 发送函数的C++封装∙ ∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙17

4.1.2 接收函数的C++封装∙ ∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙17

4.2POP3协议命令的实现∙∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙18

4.2.1 认证状态C++实现∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙18

4.2.2 事务状态C++实现∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙18

4.2.3 更新状态C++实现∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙18

4.3Base64 的 C++ 解 码 实 现

∙ ∙ ∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙194.3.1BASE64 块解 码

∙ ∙ ∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙194.3.2BASE64文本解码

∙ ∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙ ∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙194.3.3BASE64解码邮件主题

5.∙ ∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙ ∙∙ ∙ ∙ ∙∙ ∙20 软 件 测 试

∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙21

结束语∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙23

致谢∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙24

参考文献∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙25

附录A∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙26

附录B∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙44

i i

陕西理工学院毕业设计

1 .引言

电子邮件e lec tronicmail简称E-mail是指用电子方式传送的信件。其中也可能包括多媒体信息包括图片、音乐、视频等等。 电子邮件是基础互联网服务之一从古老的阿帕网开始算起尽管目前互联网发展已经有将近50年 电子邮件诞生也超过45年但是电子邮件始终是最为广泛应用的也是最为可靠的信息传送方式之一。 电子邮件不仅可以用来发送接收普通文本信件消息现代的电子邮件多数都是基于html超文本标记语言的通过在支持这一协议的客户端或者网页端打开邮件用户能感受到和最简单的文本邮件完全不一样的体验。它甚至可以让用户免费得到大量的多媒体信息通过邮件订阅 用户也可能得到免费新闻和专题报道等等内容。 电子邮件由于其优越的特性在上世纪上网仍然需要拨号的时代就开始广为流行并在国内获得了“伊妹儿”这一昵称。 网民对其喜爱程度可见一斑。 电子邮件的蓬勃发展和其C/S结构是分不开的 邮件服务只要求服务器长时间在网客户端完全可以脱离网络 只在接收发送邮件的短时间内才连接网络这种特性大大降低了早期互联网发送邮件的费用。任何服务器和客户端之间的连接都需要通过协议支持才能完成而POP3协议"PostOfficeProtocol-Version3 邮局协议版本3就是支撑这种特性实现的基础。通过这一技术 用户可以只在很短的时间内联网 就可以下载大量邮件并且离线阅读节省了互联网初期用户的费用开支的同时 也极大的丰富了人民的网络信息生活。

1.1背景

电子邮件曾经是网络上最主要的通信方式 从1971年诞生开始 电子邮件就开始改变了人们的信息交流方式。 1987年9月份 CANET在北京计算机应用技术研究所内正式建成了中国第一个国际互联网电子邮件节点 并在9月14日发出了中国第一封电子邮件。这一事件标志着中国人使用互联网的历史拉开了序幕 可见电子邮件系统在互联网时代的重要性绝非其他互联网服务可以相提并论的。

到了21世纪在即时通信和社交网络的冲击下 关于电子邮件是否仍然有必要存在的争论开始进入人们的视线 但是电子邮件作为商务交流和网络账号注册中不可或缺的一部分 电子邮件现在仍然在全球范围内拥有众多用户。计算机网络并无国界 和即时通讯充满竞争并且协议不公开的现状不同 电子邮件协议统一并且可以轻松发往国外 这也使电子邮件更为适合国际化环境下的应用。

自从谷歌提供免费GB级别的谷歌邮箱开始 多数互联网邮件提供商都开始了免费化服务 邮件存储空间扩大删除邮件也变得不再是必须的。而用户发送电子邮件成本几乎为0 低成本的邮件发送服务也使得垃圾邮件一度十分猖獗。近年来 电子邮件技术日趋成熟 已经开始了从以提供和保证邮箱基础服务为主的POP3/SMTP协议向以提供安全邮件信息服务为特征的SSL/IMAP协议过渡。作为全世界使用最广泛的通信方式之一 电子邮件的开放性极大地方便了各地网民的信息交流及资源的共享。

1.2研究目的

虽然现在绝大多数邮件服务商都有网页版本的邮件服务端但是对于网络收到资费限制的地方或者处理能力有限的嵌入式设备 POP3协议相比网页端都是更加适合这些应用环境的。 同时 众多软件内部都包含邮件接收系统 比如有些软件的bug反馈就是通过客户端内置的SMTP服务向服务器发送bug反馈邮件 在服务端查看邮件的时候就可能需要使用到pop3协议。因此清楚POP 3协议并且使用C++语言实现协议执行功能仍然是十分有必要的。

1.3开发环境及语言

本文中P OP 3邮箱使用VisualStud io2010开发环境使用C++语言编写程序代码。

1.3.1开发环境

VisualStudio可以用来创建W in d o w s平台下的W in d o w s应用程序。 VisualStudio2010相比V C++6.0具有新外观和新功能功能也更加强健。 V C++6.0发布于1998年 当时主流系统还是Window s 95/98尽管后来发布了SP6补丁包但是对新的操作系统支持仍然很不够。 1998年时

易探云服务器怎么过户/转让?云服务器PUSH实操步骤

易探云服务器怎么过户/转让?易探云支持云服务器PUSH功能,该功能可将云服务器过户给指定用户。可带价PUSH,收到PUSH请求的用户在接收云服务器的同时,系统会扣除接收方的款项,同时扣除相关手续费,然后将款项打到发送方的账户下。易探云“PUSH服务器”的这一功能,可以让用户将闲置云服务器转让给更多需要购买的用户!易探云服务器怎么过户/PUSH?1.PUSH双方必须为认证用户:2.买家未接收前,卖家...

速云:广州移动/深圳移动/广东联通/香港HKT等VDS,9折优惠,最低月付9元;深圳独立服务器1050元/首月起

速云怎么样?速云,国人商家,提供广州移动、深圳移动、广州茂名联通、香港hkt等VDS和独立服务器。现在暑期限时特惠,力度大。广州移动/深圳移动/广东联通/香港HKT等9折优惠,最低月付9元;暑期特惠,带宽、流量翻倍,深港mplc免费试用!点击进入:速云官方网站地址速云优惠码:全场9折优惠码:summer速云优惠活动:活动期间,所有地区所有配置可享受9折优惠,深圳/广州地区流量计费VDS可选择流量翻...

GeorgeDatacenter:洛杉矶/达拉斯/芝加哥/纽约vps云服务器;2核/8GB/250GB/2TB流量/1Gbps端口,$84/年

georgedatacenter怎么样?GeorgeDatacenter是一家2017年成立的美国商家,正规注册公司(REG: 10327625611),其实是oneman。现在有优惠,有几款特价VPS,基于Vmware。支持Paypal付款。GeorgeDatacenter目前推出的一款美国vps,2核/8GB内存/250GB NVMe空间/2TB流量/1Gbps端口/Vmware/洛杉矶/达拉...

pop3为你推荐
绵阳电信绵阳电信宽带怎么收费的iphone5解锁iphone5怎么解锁博客外链外链都要怎么做?博客外链有没有效果?深圳公交车路线深圳公交车路线查询ghostxp3GHOSTxp sp3系统有什么优点和缺点???今日热点怎么删除千牛里面的今日热点怎么取消_?腾讯文章腾讯罗剑楠是何许人也?qq怎么发邮件怎么发送QQ邮件雅虎天盾我装了360安全卫士,原来的雅虎天盾需不需要卸载雅虎天盾有没有用用雅虎天盾的啊?
过期域名 国外空间 新站长网 服务器架设 免费个人空间申请 七夕快乐英文 网游服务器 跟踪路由命令 深圳域名 国外代理服务器 重庆联通服务器托管 镇江高防服务器 winserver2008 建站行业 达拉斯 监控主机 56折扣网 sockscap怎么用 大容量存储控制器驱动 电脑主机噪音大 更多