您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 计算机网络课程设计文档说明
《计算机网络.课程设计》基于JAVA发送邮件客户机专业:计算机科学与技术指导教师:杨新伦班级:计071班学号:200700401006姓名:苏建完成时间:2010年7月7日广西工学院计算机工程系-2-一、开发背景当前流行的各大邮件客户端软件的除了最主要的收发信件之外,功能越来越复杂,但是人们平常真正用到的功能很少,很多功能尤其对于那些计算机知识相对缺乏的人来说,更加显得太过于华丽而不太实用。有鉴于此,在了解RFC底层协议的基础上,我们开发了这个各种功能相对简单实用的邮件客户端程序,简化了很多不必要的功能二、实验目的用Java开发一个具有如下特点的用户邮件代理:1.为发送者提供一个图形界面,其中具有用于本地邮件服务器的以下字段:发送者电子邮件地址、接收者电子邮件地址、报文主题及报文本身。2.在邮件客户机和本地邮件服务器之间创建一个TCP连接。向本地邮件服务发送SMTP命令。从本地邮件服务器接收和处理SMTP命令。3.开发用户代理,使它每次至多给一个接收者发送电子邮件。并且,该用户代理将假定接受者电子邮件地址的字段部分由SMTP服务器的规范名字。(该用户代理不对MX记录执行DNS查找,因此该发送者必须提供实际的邮件服务器的名字。)三.实验步骤1.实验原理本实验是基于JSP邮件发送的实例,可以在163邮箱或者QQ邮箱中发送邮件成功成功。利用在环境:XP/win7+JDK+TOMCAT6+MyEclipse下开发设计相关代码。发送方的用户代理开始,传输到发送方的邮件服务器,再传输到接收方的邮件服务器,然后在这里被分发到接收方的邮箱中。SMTP是主要的应用层协议,使用TCP可靠数据传输服务,从发送方的邮件服务器向接收方的邮件服务器发送邮件。1)电子邮件系统是一种新型的信息系统,是通信技术和计算机技术结合的产物。电子邮件的传输是通过电子邮件简单传输协议(SimpleMailTransferProtocol,简称SMTP)这一系统软件来完成的,它是Internet下的一种电子邮件通信协议。2)电子邮件的基本原理,是在通信网上设立“电子信箱系统”,它实际上是一个计算机系统。系统的硬件是一个高性能、大容量的计算机。硬盘作为信箱的存储介质,在硬盘上为用户分一定的存储空间作为用户的“信箱”,每位用户都有属于自己的—个电子信箱。并确定—个用户名和用户可以自己随意修改的口令。存储空间包含存放所收信件、编辑信件以及信件存盘三部分空间,用户使用口令开启自己的信箱,并进行发信、读信、编辑、转发、存档等各种操作。系统功能主要由软件实现。-3-2.Web服务器在HTML:A部分该步骤主要实现开发出一个用户使用的界面,可以供用户填写一些相关的邮件收发的信息,比如:发送人的邮件地址、收件人的邮件地址、主题以及邮件的核心文本内容等信息。这一步需要使用到网站制作的一些基本知识,需要使用到HTML代码、CSS代码以及基本的jsp语法知识。。3.在JavaWeb服务器Java实现邮件的发送:B部分在这一步需要用到两个JAR包:mail.jar和activation.jar两个包。在MyEclipse开发软件上导入这两个包,然后启动tomcat服务器,在浏览器中输入(mail是工程项目)便可输入邮件发送的相关信息。这步核心代码有:props.put(mail.smtp.host,smtp.163.com);//发件人使用发邮件的电子信箱服务器props.put(mail.smtp.auth,true);//通过验证服务器的设置Transporttransport=s.getTransport(smtp);transport.connect(smtp.163.com,guanggongsujian,2255273);//发邮件人帐户和密码详细的代码在试验程序中体现。四.实验程序源代码1.发送邮件界面html代码,下面只给出body/body之间的主要代码bodybgcolor=#b4d0d9formname=form1method=postaction=send.jsppstyle=text-align:center;color:black;font-weight:bold;font-size:28简易邮件发送系统/ptablewidth=450border=1align=centercellspacing=1class=blackbgcolor=#83a68ftrtdalign=centerwidth=200 发信人址: /tdtdinputname=fromtype=textid=tosize=50/td/trtrtdalign=centerwidth=200 收信人地址: /tdtdinputname=totype=textid=tosize=50/td/trtrtdalign=center 主 -4-题: /tdtdinputname=titletype=textid=titlesize=50/td/trtrtdalign=center内容/tdtdheight=107align=centertextareaname=contentcols=50rows=15id=content/textarea/td/trtralign=centertdcolspan=2bgcolor=#83a68finputtype=submitname=Submitvalue=发送 inputtype=Resetname=Submit2value=重置/td/tr/table/form/body2.实现发送邮件界面java和html代码,下面给出整个页面的全部代码。%@pagecontentType=text/html;charset=GB2312%//页面格式%request.setCharacterEncoding(gb2312);%//转国标、乱码%@pageimport=java.util.*,javax.mail.*%//导入相关的类%@pageimport=javax.mail.internet.*%htmlheadmetahttp-equiv=Content-Typecontent=text/html;charset=gb2312title邮件发送/title/headbodybgcolor=#b4d0d9%try{Stringtto=request.getParameter(to);//获取传值信息Stringttitle=request.getParameter(title);Stringtcontent=request.getParameter(content);Propertiesprops=newProperties();props.put(mail.smtp.host,smtp.163.com);//发件人使用发邮件的电子信箱服务器props.put(mail.smtp.auth,true);//通过验证服务器的设置Sessions=Session.getInstance(props);s.setDebug(true);MimeMessagemessage=newMimeMessage(s);//给消息对象设置发件人/收件人/主题/发信时间InternetAddressfrom=newInternetAddress(guanggongsujian@163.com);//-5-发邮件的出发地(发件人的信箱)message.setFrom(from);InternetAddressto=newInternetAddress(tto);//发邮件的目的地(收件人信箱)要发送到的地方给它创建一个对象message.setRecipient(Message.RecipientType.TO,to);message.setSubject(ttitle);message.setSentDate(newDate());//该时间在接收邮件用户可以看到//给消息对象设置内容BodyPartmdp=newMimeBodyPart();//新建一个存放信件内容的BodyPart对象mdp.setContent(tcontent,text/html;charset=gb2312);//给BodyPart对象设置内容和格式/编码方式,转换乱码Multipartmm=newMimeMultipart();//新建一个MimeMultipart对象用来存放BodyPart对象(事实上可以存放多个)mm.addBodyPart(mdp);//将BodyPart加入到MimeMultipart对象中(可以加入多个BodyPart)message.setContent(mm);//把mm作为消息对象的内容message.saveChanges();Transporttransport=s.getTransport(smtp);transport.connect(smtp.163.com,guanggongsujian,2255273);//发邮件人帐户和密码transport.sendMessage(message,message.getAllRecipients());transport.close();%divalign=centerpstyle=text-align:center;color:black;font-weight:bold;font-size:28br邮件发送成功!brbrahref=email.htm点击此处返回/a/p/div%}catch(MessagingExceptione){out.println(e.toString());}%/body/html四.运行结果。1.开发界面-6-1.用户填写邮件发送信息界面:-7-2.发送成功提示页面功能测试:发送一封文本邮件给一个收信人测试中用163的邮箱往QQ、163的邮箱发送邮件均可以正常的接收到发送的普通的纯文本文件。五.心得体会通过此次课程设计,最大的收获主要是进一步锻炼了我的综合运用能力,深深的感觉到要做好一个程序,更需要的是扎实的编程基础。在编程的过程中的确要面临很大的困难,但每当我在死胡同里冥思苦想的时候而不得其解的时候,我都是和同学一起讨论,编码的时候老是时不时的报错,baidu和Google搜索到的例子总能让我眼前一亮。我觉得自己的思路还是不错的,但语法还有待加强,有些常用的语法我都不记得了。虽说在编程的过程中查找资料是允许的,不过查书常常要浪费很多的时间,所以对于那些常用的语法我一定要加强练习,努力把它们牢牢记住,做到运用自如。另一方面,通过此次课程设计,进一步巩固了计算机网络的相关知识,对下一步的复习和学习都奠定了一定的基础。总的说来,我的收获是很大的,不但得到了实践的机会,也锻炼了自己的综合运用能力,同时还看到了自己的缺点和不足的地方。以后我一定要多练习做一些这样的实验,争取取得更大的进步。
本文标题:计算机网络课程设计文档说明
链接地址:https://www.777doc.com/doc-5024072 .html