




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux系统邮件客户端开发,1,研究背景和方向设计要点邮件工作过程详细设计总结,2,3,3,4,5,课题背景和研究方向,在日常的生活中,书信往来是我们日常生活中不可缺少的一个环节。随着Internet的普及,传统信件的Internet版本电子邮件已经逐渐步入了我们的生活与工作。但是,目前大多数电子邮件客户端收发软件都功能多样,实现复杂,也或多或少的存在一些缺陷与兼容性等问题。这样的程序在嵌入式等小型化载体上运行十分不便。并且,网络上流行的自制电子邮件客户端收发模块也多是基于Windows操作系统下的集成开发环境编写,很难直接应用到Linux系统中。本文对于Linux系统设计一种简易电子邮件发送客户端。,设计要点,使用C+开发,图形界面库使用了QT 采用面向对象思想设计,结构清晰,易于扩展 使用Qt5.2.1开发环境,具有优良的跨平台特性,丰富的 API,大量的开发文档等优势 发送邮件使用SMTP协议,加密使用SSL协议,发送附件使用MIME协议,多种协议相结合,保证了发送邮件的安全、稳定,电子邮件工作过程,1.电子邮件系统是一种新型的信息系统,是通信技术和计算机技术结合的产物。电子邮件的传输是通过电子邮件简单传输协议(Simple Mail Transfer Protocol,简称SMTP)这一系统软件来完成的,它是Internet下的一种电子邮件通信协议。,电子邮件工作过程,2.电子邮件的基本原理是在通信网上设立“电子信箱系统”,它实际上是一个计算机系统。系统的硬件是一个高性能、大容量的计算机。硬盘作为信箱的存储介质,在硬盘上为用户分一定的存储空间作为用户的“信箱”,每位用户都有属于自己的个电子信箱。并确定个用户名和用户可以自己随意修改的口令。存储空间包含存放所收信件、编辑信件以及信件存档三部分空间,用户使用口令开启自己的信箱,并进行发信、读信、编辑、转发、存档等各种操作。系统功能主要由软件实现。,电子邮件工作过程,3.电子邮件的通信是在信箱之间进行的。用户首先开启自己的信箱,然后通过键入命令的方式将需要发送的邮件发到对方的信箱中。邮件在信箱之间进行传递和交换,也可以与另个邮件系统进行传递和交换。收方在取信时,使用特定帐号从信箱提取。电子邮件的工作过程遵循客户-服务器模式。每份电子邮件的发送都要涉及到发送方与接收方,发送方构成客户端,而接收方构成服务器,服务器含有众多用户的电子信箱。发送方通过邮件客户程序,将编辑好的电子邮件向邮局服务器(SMTP服务器)发送。邮局服务器识别接收者的地址,并向管理该地址的邮件服务器(POP3服务器)发送消息。邮件服务器识将消息存放在接收者的电子信箱内,并告知接收者有新邮件到来。接收者通过邮件客户程序连接到服务器后,就会看到服务器的通知,进而打开自己的电子信箱来查收邮件。,详细设计,1.后台协议的设计要点 2.主界面的设计要点3.其他辅助功能的设计要点,后台协议实现,1.首先需要熟悉网络七层模型OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层在本程序中使用的SMTP、与MIME协议是应用层协议,而使用的SSL加密协议是传输层的协议,传输层协议在网络结构的更低层,不会影响应用层协议的使用。,后台协议实现,2.SMTP协议的实现SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。,后台协议实现,2.SMTP协议的实现本程序在源文件smtpemail.cpp中完成了通过SMTP协议发送消息的编码,后台协议实现,3.SSL协议的实现SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议所提供的服务有:1)认证用户和服务器,确保数据发送到正确的客户机和服务器;2)加密数据以防止数据中途被窃取;3)维护数据的完整性,确保数据在传输过程中不被改变。,后台协议实现,3.SSL协议的实现本程序中使用win32 OpenSSL安全套接字层密码库。环境网址如下:/products/Win32OpenSSL.htmlWin32 OpenSSL安装项目是致力于提供一个简单的安装OpenSSL。很容易通过简单的设置和使用方便,有效的安装程序。不需要编译或跳过任何步骤,只需点击几次安装,让你做真正的工作。下载完成后无需编译,直接将bin目录下的一些.dll文件复制在Qt目录的bin目录下即可。,后台协议实现,4.MIME协议的实现MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。5.base64编码Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,为提高邮件的可读性,为本设计的使用者提供方便,在设计中,必须结合MIME协议编程,邮件正文都选用Base64编码。,后台协议实现,使用MIME编程与base64编码如下图所示:,主界面的实现,主界面使用Qt界面编辑器,其中文字注释是Qlabel组件,用于显示文本信息。文字注释之后的组件为QLineEdit组件,用于输入服务器地址,用户验证信息,收发邮件人与主题等信息。服务器端口号使用QSpinBox组件,用于调整端口号,也可以手动输入。SSL与用户验证信息处使用了QcheckBox组件,用于选择。添加附件与发送邮件使用QPushButton按钮。附件下面使用了QlistWidget组件用于显示附件列表。发送邮件按钮左方使用了Horizontal Spacer 组件,用于将发送邮件按钮左方占满。,主界面的实现,当用户对电子邮件客户端软件的功能对话框操作时,需要及时调用后台电子邮件传输模块中的相应的功能函数;而当相应的功能函数被调用以后,主界面的信息(帐户或邮件列表)必然也会发生相应的变化。因此,这种前台后台前台的运行过程必须使用前后台连接模块进行控制。Qt界面编辑器中对每一个组件定义了对象名,在头文件与源文件中通过对对象名的定义及操作,实现了邮件信息的验证与发送功能。,辅助功能的实现,其中添加文件与发送邮件按钮在Qt界面设计中,右键改变样式添加了背景颜色:background-color: rgb(0, 255, 255);background-color: rgb(85, 255, 0);而界面的背景,则添加了一个资源文件img.qrc。添加了文件与前缀。文件名为BG001.jpg。而使组件背景透明的背景色由四组数值决定。最后一组数值决定组件背景的透明度。设置透明的代码如下:background-color: rgb(255,0,0,0);,程序界面演示,总结,本文对电子邮件技术进行了详细的阐述,设计并实现了基于Linux操作系统的简易电子邮件客户端发送模块。学到了很多东西。首先,这是我第一次使用Qt完成一个简易程序的开发,学到了许多关于Qt开发的基本知识,虽然开发的软件比较简单,但是开发过程中也遇到了很多问题,通过查阅资料、请教导师、跟同学一起探讨等方法解决了问题,从中学到的不光是关于Qt方面的知识,也再一次了解了Linux的玄妙,大大激发了学习新技术的兴趣。本次毕业设计的不足之处是原本想要的一些功能还没有实现,比如邮件的接收及管理功能,由于时间仓促,只能暂时完成到这里,在以后,我一定会把那些功能逐步完善,力求达到心中预期的目标。,致谢,时光匆匆如流水,转眼便是大学毕业时节,春梦秋云,聚散真容易。从开始进入课题到论文的顺利完成,一直都离不开老师、同
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程师资质及经验证明书(5篇)
- 电子发票开具及报销流程规定合同书
- 2025年音乐教育专业考试题及答案
- 2025年创新创业实践与管理能力测试卷及答案
- 2025年甘肃省平凉华亭市策底镇招聘专业化管理的村文书笔试备考试题及答案详解1套
- 物资采购基本管理制度
- 特殊幼儿患病管理制度
- 特殊材料入库管理制度
- 率土之滨团队管理制度
- 玩具挂件库存管理制度
- 工模外发管理流程模板
- 部编版高一上册语文第三课《百合花》课文原文教案及知识点
- 北京理工附中小升初分班考试真题
- 膀胱镜检查记录
- 英语社团活动课件
- 学前儿童发展心理学-情感
- 二年级下册数学教案 《生活中的大数》练习课 北师大版
- GB∕T 16762-2020 一般用途钢丝绳吊索特性和技术条件
- 电网施工作业票模板
- T∕CAEPI 31-2021 旋转式沸石吸附浓缩装置技术要求
- 国家级高技能人才培训基地建设项目实施管理办法
评论
0/150
提交评论