基于SOCKET协议的SMTP邮件发送网关的设计开发--毕业论文.doc
《基于SOCKET协议的SMTP邮件发送网关的设计开发--毕业论文.doc》由会员分享,可在线阅读,更多相关《基于SOCKET协议的SMTP邮件发送网关的设计开发--毕业论文.doc(49页珍藏版)》请在咨信网上搜索。
1、毕业设计(论 文) 题 目 基于SOCKET协议的SMTP 邮件发送网关的设计开发 专 业 电子信息科学与技术 班 级 电技 081 学 生 胡 爱 军 指导教师 侯 浩 录 2012 年西安理工大学本科生毕业设计(论文)基于SOCKET协议的SMTP邮件发送网关的设计开发专业:电子信息科学与技术班级:电技081班作者:指导教师: 职称:讲 师答辩日期:2012-06-24 摘 要本次毕业设计的课题要求是从SMTP协议的套接字底层开始,完成客户端与SMTP服务器的交互过程,最终完成邮件发送。在本文中,我使用了delphi7.0的编程语言环境,利用seversocket和clientsocket
2、控件完成客户端与虚拟服务器之间的连接和发送消息。着重分析了系统的功能需求,包括了连接邮箱服务器模块、与服务器完成交互模块、邮件体定义发送模块。详细论述了利用clientsocket组件完成与邮箱服务器的交互,在交互中通过BASE64加密认证了用户和密码;按照RFC822协议和MIME的扩展定义了邮件体,采用了发件箱、收件箱、主题和时间四个邮件头,并与邮件正文统一的赋给了一个字符串,最后成功的完成了邮件发送,达到了设计的要求。关键词:套接字、简单邮件传输协议、交互、BASE64加密、邮件体AbstractThe points of the task in the graduation desig
3、n are as follows, starting from the bottom socket of the SMTP, to complete the interaction processing of the client and the SMTP server, and finally accomplish e-mail sending.In this article, delphi7.0 development environment is utilized. Two components, seversocket and clientsocket are used to comp
4、lete the connection and message sending between virtual server and client. The functional requirements of the system are analyzed, including mailbox server connection module, server interaction accomplishment module, and the definition and sending module of the message body. The method of mailbox se
5、rver interaction is expounded in detail by the use of clientsocket. At the same time, BASE64 is applied to encode user-name and password; message body is defined based on the RFC822 and the extension of MIME. Four e-mail headers, outbox, inbox, subject and time are used, together with the unified bo
6、dy of the message form a string, then successfully completed e-mail sending.Keywords: socket, SMTP, interaction, BASE64, e-mail body目 录1 绪 论11.1 课题研究背景及意义11.1.1 电子邮件的发展历程和课题提出背景11.1.2 课题研究的意义31.2 delphi7.0开发环境简介42 系统设计目标及需求分析62.1 系统设计的目的及任务62.2 系统的流程图62.3 系统的需求分析72.3.1 连接服务器模块82.3.2 与邮件服务器交互模块82.3.3
7、 邮件体定义和发送定义模块93 SOCKET103.1 套接字的使用103.2 clientsocket和seversocket控件123.3利用SOCKET完成消息传送133.4 基于SOCKET协议下SMTP邮件发送过程154 程序实现184.1 交互实现184.1.1 从连接服务器到AUTH LOGIN194.1.2 BASE64加密认证用户及密码214.1.3 MAIL FROM 到DATA234.2 邮件体的定义和发送244.2.1 邮件格式的定义254.2.2邮件的发送294.3 系统界面的完善和自我评价314.3.1系统的完善314.3.2 自我评价32致 谢34参考文献35附
8、录36附录一 SMTP命令和响应36附录二 BASE64索引表37附录三 主要核心程序代码38I1 绪 论1.1 课题研究背景及意义1.1.1 电子邮件的发展历程和课题提出背景 电子邮件的诞生是在1971年秋季(确切的时间已经无法考证),当时已经有一种可传输文件的电脑程序以及一种原始的信息程序。但两个程序存在极大的使用局限例如:使用信息程序的人只能给接收方发送公报,接收方的电脑还必须与发送方一致。 发明电子邮件时,汤姆林森是马萨诸塞州剑桥的博尔特.贝拉尼克.纽曼研究公司(BBN)公司的重要工程师,当时,这家企业受聘于美国军方,参与Arpanet网络(互联网的前身)的建设和维护工作。汤姆林森对已
9、有的传输文件程序以及信息程序进行研究,研制出一套新程序,它可通过电脑网络发送和接收信息,再也没有了以前的种种限制。为了让人们都拥有易识别的电子邮箱地址,汤姆林森决定采用符号,符号前面加用户名,后面加用户邮箱所在的地址。电子邮件由此诞生。虽然电子邮件是在70年代发明的,它却是在80年才得以兴起。70年代受网络速度的限制,那时的用户只能发送些简短的信息;到80年代中期,个人电脑兴起,电子邮件开始在电脑迷以及大学生中广泛传播开来;到90年代中期,互联网浏览器诞生,全球网民人数激增,电子邮件被广为使用。随着我国和世界的经济的迅速地发展,网络的应用普及到了各种大小型企业甚至个人生活.所以当办公应用的砝码
10、不断被加入互联网,注定了天平会向电子邮箱这端倾斜的不争事实。而我国目前的邮件发展趋势分为:趋势一,邮件处理程序的改变电子邮件给我们工作带来便捷的同时,也会在不经意间打扰我们的工作。很多朋友或网友会抱怨占用我们的时间、打扰工作和学习的思路等。但是事实上,如果我们每天定时处理邮件,可能每天两次或者四次,总之依据自己的邮件往来数量制定好适合自己的工作习惯,让邮件处理的程序随你而改变。趋势二,电子邮箱的灵活和方便当电子邮箱变的不再新鲜,未来潮流将如何?从网易免费邮箱的网络硬盘,到公开注册的F的4G文件中转站;从新浪企业推出奇G邮箱,到263推出“无限容量”的263G邮箱后,更加坚定了存储容量在用户市场
11、中的地位。借着网速的不断提升和未来光纤的普及,这又将会是在线存储的又一个春天。但万物复苏的春天是短暂的,未来的电子邮箱,绝不会在停留在邮箱存储上,也不再只是一个简单的信息交换、存储应用,而是朝着更灵活、方便的方向发展。趋势三,桌面办公的普及邮件桌面客户端是未来发展核心应用之三。电子邮箱未来的发展,更多的应用扩展和体验,象DreamMail、FoxMail、Outlook等这类的桌面客户端将无疑扮演着最重要的角色。电子邮箱客户端将使人们脱离频繁登陆Web页面的烦恼。凭借着飞快的网速,在上传附件方面将与Web页面的速度一样,甚至更快速。趋势四,移动办公的成熟客户端结合移动邮箱服务将是未来发展核心应
12、用之四。移动邮箱在具备常规互联网邮件功能的同时,充分利用手机的功能优势,让用户可以通过手机短信、彩信或手机WAP上网方式,随时随地获取邮件信息、对邮件进行操作,实现真正的移动畅快沟通。只要手机有信号,不用在乎有没有带宽接入,随时随地都可以查收邮件。当前往3G时代的路上,移动邮箱的成熟定会成为历史,会有越来越多的用户在享受传统邮箱的互联网邮件功能同时,加入体验移动邮箱的短信、彩信、邮件到达通知等移动特色服务的行列。趋势五,邮件安全化的日益加强随着网络的发展,电子邮件的应用也用在了越来越多的地方,据此原因电子邮件服务对安全提出了越来越多的要求! 而传统电子邮件技术是一种安全性较差的信息传输技术,目
13、前,因特网用户所使用的绝大多数电子邮件系统中,基本没有采取任何措施来保证电子邮件在网络中安全传送。电子邮件的内容以明文的形式在网络中传递,使其面临着被截获、篡改、破坏的危险;甚至导致不法人员利用邮件进行欺骗等不良行为。电子邮件系统存在的这些问题,制约了它在政府办公、银行、保险、海关、税务、公安系统等一些涉密部门的进一步使用。另外,全球范围内普遍存在并不断激化的病毒邮件和垃圾邮件问题,也正不断制约着电子邮件市场的发展。邮件安全、防病毒、反垃圾已经成为邮件服务提供商、广大个人和企业用户,甚至整个社会共同关注和关心的焦点。有鉴于此,国内外电子邮件系统相关各方都进行了大量的工作,包括在电子邮件系统中引
14、入数字证书,建立各种加密邮件协议和标准,研究邮件防病毒技术和垃圾邮件过滤技术等;同时,不少国家都出台了电子邮件应用相关的法律法规,如电子签名法、反垃圾邮件法等,对其进行约束和规范。安全电子邮件系统涉及相当宽泛的技术领域,包括CA认证技术、密码技术、Web技术、数据库技术、防病毒技术、反垃圾邮件技术等。1.1.2 课题研究的意义本课题的提出是处于在全球网络环境日益发展电子邮件发送应用在生活、学习、工作以及各个方面下的背景中。而在电子邮件的应用中,安全又是一个特别重要的发展趋势也是应用者们所需要的!本课题是要从SOCKET的套接字底层分析开始,逐渐的根据SMTP(简单邮件传输协议)协议与服务器交互
15、,完成每一步服务器提出的要求,最后完成邮件发送,使得邮件传输是个很安全过程。本课题的从套接字底层做起,加强了邮件发送的安全性,能够有效地避免邮件在传输中的信息丢失或者被他人盗取、使用、知晓、修改等可能;同时由于在使用indy控件时,太多的服务器将其当做垃圾邮件处理或是限定发邮件的数量,从而使得用户在信息联络上受到损失。1.2 delphi7.0开发环境简介Delphi是美国Borland公司开发的一种全新的可视化软件开发工具。它采用了面向对象程序语言和基于组件的开发结构框架相结合的先进技术。Delphi这种先进的编程理念和强大的可视化编程功能,克服了其他的面向对象语言在与用户交互能力上的不足。
16、同时,它强大和先进的数据库处理技术和能快速地建立应用程序的独特优势,为程序开发人员在开发应用程序上提供了便利。这使得原本繁琐复杂而又枯燥的编程工作在Delphi的帮助下变的简单易学而又有趣。而值得一提的是它的delphi7.0版本,在保持原有版本优点的基础上增加了更新更强的新特性:扩大了VCL可视化组件库;对编辑器和编译器方面做了更多改进和优化;增加了多种网络应用开发的空间包括indy和Web编程技术;完全支持.NET技术;支持跨平台开发类库CLX。Delphi作为Borland公司的巅峰之作,它是有着鲜明的特点的:(1)简化程序执行过程,编译速度快。Delphi所使用的全特征代码编辑器和高速
17、度的编译器使其直接生成高性能代码,从而加快了编译速度。(2)可在多个不同的平台上开发应用。Delphi7可以在各种Windwos环境下使用,同时也可以在Linux平台上开发应用。(3)具有更好的可重用性、可管理性和可扩展性。Delphi7.0使用的是ObjectPascal面向对象编程语言并提供了许多程序框架和可重复利用的可视化组件。另外,Delphi7使用了独特的VCL(Visual Component Library)类库。VCL即可视组件库,它可扩展性强、操作简单、封装完整。用户可以根据自己的需要,可以任意导入导出ActiveX控件也可以任意构建、扩充、甚至是删减VCL。这大大提高了程序
18、开发效率。同时,开发人员还可以根据自己的意愿来控制Windows开发效果。(4)具有强大的数据可处理能力。应用程序通过Delphi7可以使用Borland公司提供的数据处理工具BDE(Borland Database Engine),这样应用程序就能可以方便的使用BDE连接到的各种格式的数据源。并能畅通的使用Oracle、Sybase、SQL Server等多种大型数据库。在老师的推荐下,也因为delphi编程语言的强大的所在,所以我选择了在本次毕业设计中使用delphi7.0语言。2 系统设计目标及需求分析2.1 系统设计的目的及任务本次毕设课题:基于SOCKET协议的SMTP邮件发送网关的
19、设计开发。要求从SMTP的套接字底层交互开始,完成交互的各个步骤,直到最后能够成功的向SMTP服务器发送出邮件。课题的具体内容:(1)学习邮件网关的实现思路并研究该模型的实现方案,提出合理的用户需求设计;(2)学习DELPHI编程工具并掌握数据库的简单使用(3)了解网络通讯的基本原理和数据编码基本概念,完成SOCKET协议字的套接过程,实现邮件数据的标准编码以及邮件客户端向邮件服务器发送邮件信息的要求。课题主要的重点和难点在于:SMTP协议要理解透彻,懂得用户与服务器交互的每一个具体过程;delphi7.0语言的使用和其网络组件的特性和使用,能够懂得SOCKET协议的套接字底层的使用方法;最后
20、的关键是邮件体的各种编码和加密,掌握邮件消息的编码方法以及邮件主题、发件人、收件人、发件人名称、收件人名称、邮件主题内容等内容节的具体编码要求和实现方法;编程实现按照用户的基本设定实现邮件消息的完整编码、实现远端邮件服务器的登陆认证,实现与远端邮件服务器的网络通讯;并最终完成邮件发送。2.2 系统的流程图本次毕设课题是从连接SMTP服务器开始的,终结于邮件发送,下面图2-1是我的系统设计的流程图:图 2-1 系统设计流程图2.3 系统的需求分析本次毕设的课题的基本要求是:分析目前网络通讯中最常使用的的邮件发送协议SMTP协议,从该协议的套接字底层开始分析,用SOCKET协议完整的实行SMTP协
21、议的解析和执行,完成向远端服务器发送邮件的完整过程。由于是从套接字底层开始的,所以在系统的操作中,我们需要操作SMTP协议中交互的每一步。在我的邮件发送系统功能模块中分为三个主要的功能:连接邮箱服务器模块、与服务器完成交互模块、邮件体定义和发送模块。图2-2是我的系统功能模块的示意图:邮件发送连接服务器交互过程邮件体的设置连接服务器监视连接状态断开连接普通交互Base64加密验证用户Base64加密验证密码发件箱收件箱Base64加密主题Base64加密正文图2-2 邮件发送的功能模块2.3.1 连接服务器模块在这个模块,主要通过控制clientsocket的Active属性是false还是t
22、rue来连接服务器,并显示连接是否成功或者断开连接是否成功。2.3.2 与邮件服务器交互模块这块比较多,普通的一般的交互是直接向服务器发出请求,例如常用的:HELO、EHLO、AUTH LOGIN、DATA、NOOP等。但是还有两个不是直接的普通交互,就是服务器在验证用户账号和用户密码时,需要先经过base64加密。而且由于与邮箱服务器的交互每一次只能发送一个包也就是一步一步的交互,所以这个模块的按钮比较多。2.3.3 邮件体定义和发送定义模块一个完整的邮件包括邮件头和正文两个部分。而邮件头又包含着不同的头段,在我的设计里运用了主题、发件箱、收件箱和发件时间这四个头段组成一个完整的邮件头。其中
23、除了时间是利用delphi中的date或now函数直接提取本地主机时间之外其余都需要由可视化常用组件手动输入。所以在这个模块里,邮件体的内容设置是几乎完全可以看见的。而这些输入的内容也完整地组成了一个标准的邮件体。关于邮件体的定义和发送将在后面的4.2章节中详细介绍。3 SOCKET3.1 套接字的使用SOCKET是建立在传输协议上的一个套接字规范,它定义了两台计算机间进行通信的规范。SOCKET实质上提供了进程通信的端点。进程通信之前,双方首先必须各自创建一个端点,否则是没有办法建立联系并相互通信的,套接字也就相当于是两台机器间通信“通道”的两端。在使用套接字进行网络通信之前,必须设置套接字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 SOCKET 协议 SMTP 邮件 发送 网关 设计 开发 毕业论文
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。