软件技术专业毕业实训报告(1)

时间:2024.4.21

毕业实训报告

实训题目   邮件服务器的收发系统  

    别:     信息工程系          

    业:         

    号:             

                         

指导教师:                    

提交日期:  20##   6    2 

  

一、实训题目

用SMTP和POP3协议实现邮件服务器的收发系统

二、实训目的

实训是学生接触社会实际,提高综合职业素质,增强分析问题和解决问题能力的重要教学环节,也是培养人才的重要途径,通过实训巩固和加深课堂所学知识,学习掌握企业级开发的流程与具体操作方法;通过实训,培养“团队”精神和“开拓创新”能力,大力提倡和鼓励在开发过程中使用新方法、新技术,开拓思路,设计新算法、新创意,培养创造性的程序设计能力和锐意创新进取的精神;配合毕业论文写作,开展调查研究,培养面对现实问题的正确态度和独立地分析解决问题的能力;树立新的发展起点和目标,通过实训,认识社会的需要,发现自身差距,培养良好的职业精神,适应毕业后实际工作的要求,为我们以后进一步走向社会打下了坚实的基础。

三、实训时间

四、实训地点

五、实训部门或岗位

实习生

六、实训内容和过程

6.1实训内容

6.1.1协议的了解

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。

POP3(Post Office Protocol 3)即邮局协议的第3个版本,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。它是因特网电子邮件的第一个离线协议标准,POP3协议允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时根据客户端的操作删除或保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。POP3协议是TCP/IP协议族中的一员,,由RFC 1939 定义。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。

LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。 简单说来,LDAP是一个得到关于人或者资源的集中、静态数据的快速方式。 LDAP是一个用来发布目录信息到许多不同资源的协议。通常它都作为一个集中的地址本使用,不过根据组织者的需要,它可以做得更加强大。

6.1.2系统的要求

服务器端的功能:支持邮件接收功能 (POP3),支持邮件发送功能 (SMTP/ESMTP),支持邮件转发

能 (Java Mail),路径可配置,用户可配置。

用户管理程序的功能:支持用户的CRUD操作,用户包括并不限于用户名,密码,出生年月,地址,创建时间,所属部门或单位。可以禁止用户在某一时间段内不能使用本系统。

邮件客户端功能:邮件的接收,发送,设置连接服务器的相关参数等。

6.1.3系统体系结构

邮件系统包括邮件了发送,收取,转发。

以Outlook为客户端,配置好用户信息,将邮件发送到对应的服务器上去,对于服务端,SMTP服务器,POP3服务器,其它必须遵循对应的协议,支持Outlook和Telent,多个用户可以同时登陆服务器进行邮件的收发,不同的用户之间相互不干扰,对于用户信息要保存在LDAP中,邮件信息要保存在Oracle数据库中,用户可以修改自己的用户信息,可以正常的收发自己的电子邮件,服务端可以对用户的帐户进行控制,如禁用启用等,此外,在系统中产生的其它信息(如服务器信息)要保存在配置文件中。

6.2实训过程

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",rootpw    secret。使用slapd –d 1来启动服务器,使用JXplorer来连接服务器对其进行增删查改操作。

七、实训体会和收获:

大三了,大学生活转眼间就已经到头了了。为了增加实践经验,我到了武汉市东兆有限责任公司进行实训,短短的实训期,使我经历了很多,成长了很多.。在实训的这段日子里,我在现场的工作不仅使我学到了在大学了学不到的东西,而且还让我认识到的了关于处人与处事的社会经验机及其重要性。

以前在校时,从来没有接触到像LDAP协议,servlet之类的东西,或者说只是听闻过,只是不知道它们是什么东西,干什么用的。初到公司时,我们开始学习JAVA基础,那时我在想,我们以前在学校里都学过JAVA的基础知识,没有必要再学一遍,但事实让明,我这个想法是一个很大的错误,在这期间我们学习写计算器程序,从这个计算器程序中我们学习了类的封装,如把所有的操作抽象出来封装成一个类,所有的操作都继承此类,程序会根据我们输入的运算数据及运算符来自动的调用相应的方法,大大提高了程序的可扩展性,对代码的维护也更加的方便,。这些使我认识到我自己离一个合格的程序员的距离。我们写一个程序,不仅仅是要完成它的功能这么简单,我们还有许多事情要考虑,比如写出来的程序代码的冗余度怎么样,代码的执行效率如何,它是否是线程安全的,代码的冗错率是否比较高。或许有人认为这些没有太大的影响,但在实训的过程中,我深刻的体会到了这些问题的重要性,在我写和计算器程序中,刚开始只设计了加减乘除运算,并没有考虑以后功能的添加,在后期时需求发生了变化,要求加入更多的运算任务,这时代码的冗余度太大,以至于最后重写程序。对问题分析得不透彻,比如要比较两数是否是同号,我们以前的做法是将这两个数相乘判断其符号是否大于零,但这是一个很严重的错误,在真正的企业级开发中,是分别对这两数进行判断。

知识是一点一滴不断积累起来的,学习的过程也是由简单不断的深入,我们学习了以前不曾学到过的知识或者说自己薄弱的知识。在JAVA中定义可变参数,以及对可变参数的引用,即在方法的参数列表中以三个点来表示;学习了IO操作,其实我们在以后的程序中有很大的一部会都是对IO的操作,如磁盘文件的读写,网络数据的传输,Web程序的应用,只是不同的应用程序IO的管道不同而已,倘若我们学会的仅仅是如何去操作,而不是其方法,那么当我们以后要操作的对象发生了变化,我们就不知如何去做的,这样的学习方法显然是失败至极的;学习了多线程程序的原理及编写方法,一个多线程程序的实现有两种方法,一是实现Runnable接口,二是继承Thread类,并通过start()方法来启动,在些期间我们编写了点名册程序,由程序随机的抽取数据并显示抽取结果。由此,我对程序进行了扩展,使得每个用户登陆服务器后都可以使用此程序,每个用户之间相互不干扰,从中更加深刻的理解了多线程程序的应用。

在学习完在JAVA基础知识后,还学习了SMTP协议,POP3协议,LDAP协议,利用这些协议,开始了我的项目——邮件系统,在编写邮件系统服务器程序时,遇到了许多问题,这样的程序自己重写了两遍,这是因为自己所写的程序可扩展性太差,冗错率太低导致程序的失败,但失败了对我来说并不要紧,每一次失败都进行一次总结,找出自己的不足并改正,最终项目得已实现,虽然现在还存在着一些细节问题。记得在刚拿到项目时,很茫然,不知道从何下手,因为以前从来没有接触过这些协议,如果那时自己惧怕,那么明天也就永远不会成功。在学习这些协议的时候也经历了几个阶段,当初不了解协议的原理就开始着的程序的编写,最后无法达到预期的效果。在一个企业项目中,最重要的不是程序的编写,而是项目的需求分析,只有我们分析透彻了,明白了其根本原理,才能达到我们的目的,程序编码只占有很小一部分时间,这些是我在实训中所体会到的。

在这两个月的实训中,我们不仅仅学习了专业知识,还学习了一些求职面试的技巧和应注意的一些问题。在面试的过程中我们应当通过各种途径主动的与面试单位接触,向他们提供个人信息,在面试的过程中要注意自己的言谈着装,给招聘人员一个良好的印象,不能与面试单位的要求相违背,即便是一些潜规则,我们也要遵守,这样才可能获得更大的机会,对于自己感兴趣的职位,可以主动的与招聘方进行电话或其它形式的磋商。当招聘方向自己发出工作邀约的时候,也许与我们的期望相差很远,但这并不意味着无法改变。永远不要在未做磋商的情况下因为金钱方面的原因而拒绝一份邀约,要拒绝一份工作邀约也要向对方表明情况。

学习的过程是漫长的,尤其是对我们来说,技术的成长阶段是最痛苦的,但我相信只要我有坚定的信念,不怕苦不怕累,我们终会成功。每天起早摸黑,加班加点的练习以提升自己的技术,有人说当一个学生真好。可是既然我选择了这个职业就要坚定的走下去,因为这一天也终究要来到。对我们而言,实训可以使我们有更多的机会尝试不同的工作,扮演不同的社会角色,逐步完成职业化角色的转化,发现自己真实的潜力和兴趣,以奠定良好的事业基础,也为自我成长丰富了阅历,促进整个社会人才资源的优化配置。作为一名学生,我想学习的目的不在于通过结业考试,而是为了获取知识,获取工作技能,换句话说,在学校学习是为了能够适应社会的需要,通过学习保证能够完成将来的工作,为社会作出贡献。然而步出象牙塔与步入社会是有很大落差的,能够以进入公司实习来作为缓冲,对我而言是一件幸运的事,通过实训了解到实际工作的需要,使得学习的目的性更加明确,得到的效果也将更好。

到这,我还想谈一下实习的意义。 

实习是一种对用人单位和实习生都有益的人力资源制度安排。对接受实习生的单位而言,是发展储备人力资源的措施,可以让其低成本、大范围的选择人才,培养和发现真正符合用人单位要求的人才,亦可以作为用人单位的公关手段,让更多的社会成员(如实习生)了解用人单位的文化和理念,从而增强社会对该组织的认同感并赢得声誉。 

对学生而言,实习可以使每一个学生有更多的机会尝试不同的工作,扮演不同的社会角色,逐步完成职业化角色的转化,发现自己真实的潜力和兴趣,以奠定良好的事业基础,也为自我成长丰富了阅历,促进整个社会人才资源的优化配置。 

作为一名学生,我想学习的目的不在于通过结业考试,而是为了获取知识,获取工作技能,换句话说,在学校学习是为了能够适应社会的需要,通过学习保证能够完成将来的工作,为社会作出贡献。然而步出象牙塔步入社会是有很大落差的,能够以进入公司实习来作为缓冲,对我而言是一件幸事,通过实习工作了解到工作的实际需要,使得学习的目的性更明确,得到的效果也相应的更好。 

再总结一下自己在实习期间的体会吧。 

1、自主学习 

工作后不再象在学校里学习那样,有老师,有作业,有考试,而是一切要自己主动去学去做。只要你想学习,学习的机会还是很多的,老员工们从不吝惜自己的经验来指导你工作,让你少走弯路;集团公司、公司内部有各种各样的培训来提高自己,你所要作的只是甄别哪些是你需要了解的,哪些是你感兴趣的。 

2、积极进取的工作态度                     

 在工作中,你不只为公司创造了效益,同时也提高了自己,像我这样没有工作经验的新人,更需要通过多做事情来积累经验。特别是现在实习工作并不象正式员工那样有明确的工作范围,如果工作态度不够积极就可能没有事情做,所以平时就更需要主动争取多做事,这样才能多积累多提高。  

3 、团队精神  

 工作往往不是一个人的事情,是一个团队在完成一个项目,在工作的过程中如何去保持和团队中其他同事的交流和沟通也是相当重要的。一位资深人力资源专家曾对团队精神的能力要求有这样的观点:要有与别人沟通、交流的能力以及与人合作的能力。合理的分工可以使大家在工作中各尽所长,团结合作,配合默契,共赴成功。个人要想成功及获得好的业绩,必须牢记一个规则:我们永远不能将个人利益凌驾于团队利益之上,在团队工作中,会出现在自己的协助下同时也从中受益的情况,反过来看,自己本身受益其中,这是保证自己成功的最重要的因素之一。 

4、基本礼仪 

 步入社会就需要了解基本礼仪,而这往往是原来作为学生不大重视的,无论是着装还是待人接物,都应该合乎礼仪,才不会影响工作的正常进行。这就需要平时多学习,比如注意其他人的做法或向专家请教。 

5、为人处事 

 作为学生面对的无非是同学、老师、家长,而工作后就要面对更为复杂的关系。无论是和领导、同事还是客户接触,都要做到妥善处理,要多沟通,并要设身处地从对方角度换位思考,而不是只是考虑自己的事。 

 最后,我至少还有以下问题需要解决。

1、缺乏工作经验 

 因为自己缺乏经验,很多问题而不能分清主次,还有些培训或是学习不能找到重点,随着实习工作的进行,我想我会逐渐积累经验的。 

2、工作态度仍不够积极 

 在工作中仅仅能够完成布置的工作,在没有工作任务时虽能主动要求布置工作,但若没有工作做时可能就会松懈,不能做到主动学习,这主要还是因为懒惰在作怪,在今后我要努力克服惰性,没有工作任务时主动要求布置工作,没有布置工作时作到自主学习。 

3、工作时仍需追求完美 

 在工作中,不允许丝毫的马虎,严谨认真是时刻要牢记的。 

4、学术上不够钻研 

 这是由工作性质决定的,也是我自己选择的,因为在我看来,只有被市场认可的技术才有价值,同时我也认为自己更适合做与人沟通的工作。但我毕竟是专科生,需要作一些技术的研究工作,来补充学历上的不足。 

 我坚信通过这一段时间的实习,从中获得的实践经验使我终身受益,并会在我毕业后的实际工作中不断地得到印证,我会持续地理解和体会实习中所学到的知识,期望在未来的工作中把学到的理论知识和实践经验不断的应用到实际工作中来,充分展示我的个人价值和人生价值,为实现自我的理想和光明的前程而努力。 

总之,这几个月的实训,自己收获很大,只有实践了才知道,或许几个月的时间不足以学好一门程序设计语言,但是这只是一个新开始,在以后的工作学习生活中,我会根据此次实训过程中出现的问题,会针对性的不断学习,克服缺点并改正存在的问题,向着自己的目标前进,充实的过好每一天,对于成功而言,则是一个漫长积累的过程,必须要锐意进取,开拓创新,踏实奋斗,坚定自己的信念,才会达到自己的目标,实现自己梦想!

更多相关推荐:
软件工程实训报告

软件工程实训报告专业班级姓名学号指导老师实训时间实训地点成绩软件技术软件3071胡少平20xx20xx1第19周学院机房7502软件教研室制目录一引言1二项目可行性分析2引言可行性研究的前提技术可行性报告3系统...

软件工程专业 实习报告

辽宁工程技术大学本科生实习报告书教学单位软件学院专业软件工程(财升本)班级10-01班学生姓名**学号**指导教师**一、实习目的1.完成所学课程,提高实际操作能力,增长项目经验。2.学习C#,ADO.NET,…

软件专业实训报告模板

大型网络工程实训报告教学单位专业班级学生姓名学号指导教师目录1实训目的12实训时间和地点13实训单位简介14实训内容241实训期间完成的学习任务242实习期间完成的实践项目75实训收获与体会116实训中存在的不...

计算机软件专业实习报告范文

计算机软件专业实习报告范文目录一实习计划1二实习目的1三实习内容2四实习总结2五实习日志5一实习计划3月5日参观单位的基本设施并且通过资料和领导介绍了解单位的文化史和发展史对单位结构和运作进行一定的了解3月6日...

软件工程专业实习报告

软件工程专业实习报告姓名沈亚枫学号0810750081专业软件工程班级软件0801指导老师李春林海南大学三亚学院20xx910目录1企业概述11企业发展简史312企业现状32实习过程21环境适应422具体程序开...

SPSS软件个人实训报告

个人实训报告一实训时间与地点时间20xx年1月9日至20xx年1月13日地点二实训目的SPSS统计软件实训课是在我们在学习统计学理论课程之后所开设的一门实践课通过实训使学生在掌握了理论知识的基础上能具体的运用所...

软件工程毕业实习报告

学号实习报告毕业实习起止日期:20xx年x月x日至20xx年x月x日学班成生姓名级绩xxx09软件2班指导教师(签字)计算机与信息工程学院20xx年x月x日根据学校要求,本人在开学前三周参加了毕业前的实习工作。…

过控专业软件训练报告

目录第一章过程设备强度计算软件SW6211问题描述212问题解决2第二章有限元分析软件ANSYS521ANSYS软件介绍5211软件功能简介5212前处理模块PREP76213求解模块SOLUTION622加氢...

软件专业暑期实习报告

20xx级毕业实习报告保定倬威达软件有限公司php网络电子相册系统开发学号姓名专业毕业实习是教学过程中一个重要的实践性教学环节是一次综合性学习通过实习加深对专业理论知识的理解培养和提高实际操作动手的能力使所学理...

软件工程实习报告模板

对实习报告的要求1每人撰写一份2提交打印版和电子档两个都要有实习报告单面打印字体小四号字一倍半行距每行42个字符段前段后为0图不能分页3电子档打包后上传到服务器指定文件夹打包文件名学号姓名4文档全部用WORD写...

软件专业实习报告

软件专业实习报告软件专业实习总结报告日子过的真快仿佛昨日带着实习老师的忠告来到创力电子有限公司实习今日就要和该公司说拜拜了无论舍得还是不舍都要面对的即将要离开的现实工作和学习相比之下还是不太一样的我虽然在实习前...

软件技术专业毕业实习报告

软件实习专业班级学号姓名指导老师厦门软件学院实习目的熟练掌握一门工具对BSCS框架有一定了解在此基础上编写一些基本的服务程序实习内容我们这次做的是一个FTP客户端程序采用的是BS框架模式可以通过客户端从服务器下...

软件专业实训报告(22篇)