邮件基于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年时

buyvm迈阿密机房VPS国内首发测评,高性能平台:AMD Ryzen 9 3900x+DDR4+NVMe+1Gbps带宽不限流量

buyvm的第四个数据中心上线了,位于美国东南沿海的迈阿密市。迈阿密的VPS依旧和buyvm其他机房的一样,KVM虚拟,Ryzen 9 3900x、DDR4、NVMe、1Gbps带宽、不限流量。目前还没有看见buyvm上架迈阿密的block storage,估计不久也会有的。 官方网站:https://my.frantech.ca/cart.php?gid=48 加密货币、信用卡、PayPal、...

justhost:“第4次VPS测评”,8.3元/月,200M带宽,不限流量,KVM虚拟,4个俄罗斯机房应有适合你的

justhost.ru官方来消息说已经对网络进行了比较全面的优化,针对中国电信、联通、移动来说,4个机房总有一个适合中国用户,让站长进行一下测试,这不就有了这篇有关justhost的VPS的第四次测评。本帖主要关注的是网络,对于其他的参数一概不管! 官方网站:https://justhost.ru 最低配VPS:8.3元/月,KVM,512M内存,5G硬盘,200M带宽,不限流量 购买链接:...

轻云互联-618钜惠秒杀,香港CN2大宽带KVM架构云服务器月付22元,美国圣何塞精品云月付19元爆款!海量产品好货超值促销进行中!

官方网站:点击访问青云互联活动官网优惠码:终身88折扣优惠码:WN789-2021香港测试IP:154.196.254美国测试IP:243.164.1活动方案:用户购买任意全区域云服务器月付以上享受免费更换IP服务;限美国区域云服务器凡是购买均可以提交工单定制天机防火墙高防御保护端口以及保护模式;香港区域购买季度、半年付、年付周期均可免费申请额外1IP;使用优惠码购买后续费周期终身同活动价,价格不...

pop3为你推荐
flash导航条如何添加FLASH导航条网站运营刚创业的网站运营怎么做?硬盘人硬盘是指什么人硬盘人克隆一个人需要多少人多长时间啊雅虎天盾我装了360安全卫士,原来的雅虎天盾需不需要卸载xp系统停止服务XP系统停止服务后电脑怎么办?二层交换机二层交换机是什么意思,三层呢网站优化方案网站建设及优化的方案微信怎么看聊天记录微信如何查找聊天记录去鼠标加速度请教如何正确的去处鼠标加速度~
vps动态ip 国外idc hnyd 嘟牛 骨干网络 工作站服务器 国外免费asp空间 环聊 带宽租赁 德隆中文网 iki 工信部icp备案查询 电信宽带测速软件 服务器托管价格 电脑主机打不开 国内免备案空间 qq空间申请关闭 杭州主机托管 个人域名如何备案 北京共有产权房申请网站 更多