资源预览内容
第1页 / 共57页
第2页 / 共57页
第3页 / 共57页
第4页 / 共57页
第5页 / 共57页
第6页 / 共57页
第7页 / 共57页
第8页 / 共57页
第9页 / 共57页
第10页 / 共57页
亲,该文档总共57页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
软件技术实训报告软件技术实训报告图片已关闭显示,点此查看毕业实训报告 实训题目: 邮件服务器的收发系统系 别:专 业:学 号:姓 名:指导教师:提交日期: XX 年 6 月 2 日一、实训题目用 SMTP 和 POP3 协议实现邮件服务器的收发系统二、实训目的实训是学生接触社会实际,提高综合职业素质,增强分析问题和解决问题能力的重要教学环节,也是培养人才的重要途径,通过实训巩固和加深课堂所学知识,学习掌握企业级开发的流程与具体操作方法;通过实训,培养“团队”精神和“开拓创新”能力,大力提倡和鼓励在开发过程中使用新方法、新技术,开拓思路,设计新算法、新创意,培养创造性的程序设计能力和锐意创新进取的精神;配合毕业论文写作,开展调查研究,培养面对现实问题的正确态度和独立地分析解决问题的能力;树立新的发展起点和目标,通过实训,认识社会的需要,发现自身差距,培养良好的职业精神,适应毕业后实际工作的要求,为我们以后进一步走向社会打下了坚实的基础。三、实训时间四、实训地点五、实训部门或岗位实习生六、实训内容和过程实训内容协议的了解SMTP 即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于 TCP/IP 协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过 SMTP 协议所指定的服务器,就可以把 Email 寄到收信人的服务器上了,整个过程只要几分钟。SMTP 服务器则是遵循 SMTP 协议的发送邮件服务器,用来发送或中转发出的电子邮件。POP3(Post Office Protocol 3)即邮局协议的第 3 个版本,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。它是因特网电子邮件的第一个离线协议标准,POP3 协议允许用户从服务器上把邮件存储到本地主机上,同时根据客户端的操作删除或保存在邮件服务器上的邮件,而 POP3 服务器则是遵循 POP3 协议的接收邮件服务器,用来接收电子邮件的。POP3 协议是 TCP/IP 协议族中的一员,,由 RFC 1939 定义。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。LDAP 是轻量目录访问协议,英文全称是 Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于标准的,但是简单多了并且可以根据需要定制。与不同,LDAP 支持 TCP/IP,这对访问 Internet是必须的。LDAP 的核心规范在 RFC 中都有定义,所有与LDAP 相关的 RFC 都可以在 LDAPman RFC 网页中找到。 简单说来,LDAP 是一个得到关于人或者资源的集中、静态数据的快速方式。 LDAP 是一个用来发布目录信息到许多不同资源的协议。通常它都作为一个集中的地址本使用,不过根据组织者的需要,它可以做得更加强大。系统的要求服务器端的功能:支持邮件接收功能 (POP3),支持邮件发送功能 (SMTP/ESMTP),支持邮件转发 能 (Java Mail),路径可配置,用户可配置。用户管理程序的功能:支持用户的 CRUD 操作,用户包括并不限于用户名,密码,出生年月,地址,创建时间,所属部门或单位。可以禁止用户在某一时间段内不能使用本系统。邮件客户端功能:邮件的接收,发送,设置连接服务器的相关参数等。系统体系结构邮件系统包括邮件了发送,收取,转发。以 Outlook 为客户端,配置好用户信息,将邮件发送到对应的服务器上去,对于服务端,SMTP 服务器,POP3 服务器,其它必须遵循对应的协议,支持 Outlook 和Telent,多个用户可以同时登陆服务器进行邮件的收发,不同的用户之间相互不干扰,对于用户信息要保存在 LDAP中,邮件信息要保存在 Oracle 数据库中,用户可以修改自己的用户信息,可以正常的收发自己的电子邮件,服务端可以对用户的帐户进行控制,如禁用启用等,此外,在系统中产生的其它信息要保存在配置文件中。实训过程1. POP3 协议。用户登陆 POP3 服务器后必须输入 user 用户名,pass 密码登陆,登陆成功后,用户可以输入 stat,list,retr,dele 指令,其中,stat 没有参数,list 可以有参数,也可没有参数,retr,dele,list所跟参数必须为数字,在任何时候,用户输入 quit 可以退出系统,当用户名或密码错误以及连接超时,用户输入指令错误次数达到系统限制时,服务器应自动断用户的连接。2. SMTP 协议。当用户连接上 SMTP 服务器的时候,如果不是转发的电子邮件,则需要发 ehlo 指令,指令的格式为:ehlo ,用户在输入 auth login 指令后只能输入 mail from:指令,指令后必须接上一个有效的电子邮件地址,接下来只能输入 rcpt to 指令,其后也必须接上一个有效的电子邮件地址,如果这两个地址的服务器不一样则需要转发邮件,否则由本服务器进行处理,接下来只能输入 data 指令,然后输入内容,内容以“.”结束,最后输入 quit 指令退出系统,在整个邮件的发送过程中,可以随时输入 ehlo 指令和 quit 指令,若错误的次数达到系统的限制,用户名或密码错误,服务器应断开用户的连接。在输入用户名和密码时不能输入指令。如果是转发,则不需要输入 auth login 指令,其后可以直接 mail form,rcpt to,data 指令,在输入了错误的指令后会有相应的错误代码提示。3. JAVAMail。在 SMTP 服务器中,如果发出了 HELO 指令,则需要转发邮件,这时要用到 JAVAMail,在配置文件中,把邮件域名与 IP 地址建立起对应的联系,在转发时只要截取邮件域名就可以拿到要转发的主机地址,设置好邮件信息即将邮件发送出去。4. Oracle 数据库。在 Windows 平台上安装 oracle 数据库,oracle10G 默认的数据库名称是 orcl,连接端口号是 1521,安装完毕后可以通过控制台来进行操作,但为了操作方便,安装 oracle 视图工具 PLSQL,在安装 PLSQL 时要配置环境变量 NL_SLANG 和 TNS_ADMIN,配置完环境变量后用此视图工具来连接 Oracle 数据库,来进行增删查改操作。5. LDAP 协议。要使用 LDAP,需要安装 JXplorer,配置其 LDAP 的配置文件为自己的信息,修改 suffix“dc=my-domain,dc=com“,rootdn “cn=Manager,dc=my-domain,dc=com“,rootpwsecret。使用 slapd d 1 来启动服务器,使用 JXplorer 来连接服务器对其进行增删查改操作。七、实训体会和收获:大三了,大学生活转眼间就已经到头了了。为了增加实践经验,我到了武汉市东兆有限责任公司进行实训,短短的实训期,使我经历了很多,成长了很多.。在实训的这段日子里,我在现场的工作不仅使我学到了在大学了学不到的东西,而且还让我认识到的了关于处人与处事的社会经验机及其重要性。以前在校时,从来没有接触到像 LDAP 协议,servlet之类的东西,或者说只是听闻过,只是不知道它们是什么东西,干什么用的。初到公司时,我们开始学习 JAVA 基础,那时我在想,我们以前在学校里都学过 JAVA 的基础知识,没有必要再学一遍,但事实让明,我这个想法是一个很大的错误,在这期间我们学习写计算器程序,从这个计算器程序中我们学习了类的封装,如把所有的操作抽象出来封装成一个类,所有的操作都继承此类,程序会根据我们输入的运算数据及运算符来自动的调用相应的方法,大大提高了程序的可扩展性,对代码的维护也更加的方便, 。这些使我认识到我自己离一个合格的程序员的距离。我们写一个程序,不仅仅是要完成它的功能这么简单,我们还有许多事情要考虑,比如写出来的程序代码的冗余度怎么样,代码的执行效率如何,它是否是线程安全的,代码的冗错率是否比较高。或许有人认为这些没有太大的影响,但在实训的过程中,我深刻的体会到了这些问题的重要性,在我写和计算器程序中,刚开始只设计了加减乘除运算,并没有考虑以后功能的添加,在后期时需求发生了变化,要求加入更多的运算任务,这时代码的冗余度太大,以至于最后重写程序。对问题分析得不透彻,比如要比较两数是否是同号,我们以前的做法是将这两个数相乘判断其符号是否大于零,但这是一个很严重的错误,在真正的企业级开发中,是分别对这两数进行判断。知识是一点一滴不断积累起来的,学习的过程也是由简单不断的深入,我们学习了以前不曾学到过的知识或者说自己薄弱的知识。在 JAVA 中定义可变参数,以及对可变参数的引用,即在方法的参数列表中以三个点来表示;学习了 IO 操作,其实我们在以后的程序中有很大的一部会都是对 IO 的操作,如磁盘文件的读写,网络数据的传输,Web 程序的应用,只是不同的应用程序 IO 的管道不同而已,倘若我们学会的仅仅是如何去操作,而不是其方法,那么当我们以后要操作的对象发生了变化,我们就不知如何去做的,这样的学习方法显然是失败至极的;学习了多线程程序的原理及编写方法,一个多线程程序的实现有两种方法,一是实现 Runnable 接口,二是继承 Thread 类,并通过 start()方法来启动,在些期间我们编写了点名册程序,由程序随机的抽取数据并显示抽取结果。由此,我对程序进行了扩展,使得每个用户登陆服务器后都可以使用此程序,每个用户之间相互不干扰,从中更加深刻的理解了多线程程序的应用。在学习完在 JAVA 基础知识后,还学习了 SMTP 协议,POP3 协议,LDAP 协议,利用这些协议,开始了我的项目邮件系统,在编写邮件系统服务器程序时,遇到了许多问题,这样的程序自己重写了两遍,这是因为自己所写的程序可扩展性太差,冗错率太低导致程序的失败,但失败了对我来说并不要紧,每一次失败都进行一次总结,找出自己的不足并改正,最终项目得已实现,虽然现在还存在着一些细节问题。记得在刚拿到项目时,很茫然,不知道从何下手,因为以前从来没有接触过这些协议,如果那时自己惧怕,那么明天也就永远不会成功。在学习这些协议的时候也经历了几个阶段,当初不了解协议的原理就开始着的程序的编写,最后无法达到预期的效果。在一个企业项目中,最重要的不是程序的编写,而是项目的需求分析,只有我们分析透彻了,明白了其根本原理,才能达到我们的目的,程序编码只占有很小一部分时间,这些是我在实训中所体会到的。在这两个月的实训中,我们不仅仅学习了专业知识,还学习了一些求职面试的技巧和应注意的一些问题。在面试的过程中我们应当通过各种途径主动的与面试单位接触,向他们提供个人信息,在面试的过程中要注意自己的言谈着装,给招聘人员一个良好的印象,不能与面试单位的要求相违背,即便是一些潜规则,我们也要遵守,这样才可能获得更大的机会,对于自己感兴趣的职位,可以主动的与招聘方进行电话或其它形式的磋商。当招聘方向自己发出工作邀约的时候,也许与我们的期望相差很远,但这并不意味着无法改变。永远不要在未做磋商的情况下因为金钱方面的原因而拒绝一份邀约,要拒绝一份工作邀约也要向对方表明情况。学习的过程是漫长的,尤其是对我们来说,技术的成长阶段是最痛苦的,但我相信只要我有坚定的信念,不怕苦不怕累,我们终会成功。每天起早摸黑,加班加点的练习以提升自己的技术,有人说当一个学生真好。可是既然我选择了这个职业就要坚定的走下去,因为这一天也终究要来到。对我们而言,实训可以使我们有更多的机会尝试不同的工作,扮演不同的社会角色,逐步完成职业化角色的转化,发现自己真实的潜力和兴趣,以奠定良好的事业基础,也为自我成长丰富了阅历,促进整个社会人才资源的优化配置。作为一名学生,我想学习的目的不在于通过结业考试,而是为了获取知识,获取工作技能,换句话说,在学校学习是为了能够适应社会的需要,通过学习保证能够完成将来的工作,为社会作出贡献。然而步出
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号