计算机网路原理实验报告邮件客户端.docx
- 文档编号:23783400
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:22
- 大小:477.44KB
计算机网路原理实验报告邮件客户端.docx
《计算机网路原理实验报告邮件客户端.docx》由会员分享,可在线阅读,更多相关《计算机网路原理实验报告邮件客户端.docx(22页珍藏版)》请在冰豆网上搜索。
计算机网路原理实验报告邮件客户端
ExperimentReportofComputerNetwork’sTheory
——EmailClient(JAVA)
Designer’sName:
GuidanceCounselors:
Profession:
StudentID:
Content
ExperimentPurpose2
ExperimentRequesting2
DesignIdeasandThought4
CodeDescription6
OperationEffectandResult16
ResultExplanation19
ImprovablePart20
ExperimentConclusion20
1.ExperimentPurpose
1)EstablishaseriesofGraphicInterface
2)Loginthesystemhavejustbeencreatedsuccessfully
3)Chooserecipient,subjectandcontent
4)Sendtheemailjustbeenwrittendirectlyandensuretherecipientcanreallyreceivetherightemaildirectly
5)Canuseanyprogramminglanguagetoachieveourgoals
6)Aboveall,theprotocolmustbeSMTP
2.ExperimentRequesting
1)WeshouldinstallSDKatfirst,wecanfollowtheguidancegivenby《InstructionofExperiment》.
2)Runthecodewehaveeditedandseetheresultonlywhenwejusthavesomecompileplatformforjava.
3)WemustsetupaseriesofGraphicInterface——first,weshouldhaveaninterfacetologintheemailclientsuchasrequiringusernameandpassword;next,weneedaninterfacetowriteourpersonalemailandhavethebarswhichallowusinputtherecipientaddress,emailsubjectandthecontentandsoon.
4)Follow3),weshouldensuretheemailcanreallybesenttotherecipientmailboxincludingthattheemailmustberight.Tocheckandtestoursystemissuccessornot,weshouldlogintherecipientmailboxandfindoutwhetherwecanreceivetheemailornot.
3.DesignIdeaandThought
Wemightsendorreceiveemaileveryday,andreallyknowtheoperationaboutthesesothatwecanfollowtheourcognitivehabitsandtheknowledgewehavejustacquiredfromthelessonsand《InstructionofExperiment》todesignourownemailclientwithpersonallycharacteristics.
Atthisexperiment,weusejavalanguageandeclipsesoftwaretoachieveourgoals,whichassameasthelastexperiment.
Inthefirstplace,weshouldeditcodetoestablishtwoGraphicinterfacesasfollow:
1)Thefirstinterfaceshouldallowustoinputus(thatistheusernameandpasswordofSender.Atthisexperiment,wechoosethe163mailbox).
2)Afterweloginthemailbox,weshouldtakethenextaction——inputtherecipientaddress,emailsubjectandcontentintheotherinterfacewhichshouldbeestablishafterthefirstinterface.
Afterwehavesetupgeneralframeworkforuser,wefacesomedifficultiesnowwhichwemustsolve.
1)Howcanwegettheinformationthatuserinputinthetwointerfacesuchasrecipientaddressoremailcontentandsoon?
2)Whenwehavegatheredalltheinformationaboutthesender,recipientandtheemailitself,howcanwecollecttheseinformationintoamessage
3)Whileweownsuchamessage,howcanwesendthismessagetotherightrecipient?
(e.g.AllthemailboxappearedontheinternetnowhavethefunctionofAuthentication,howcanwepassthecheckout?
Orelse,anyonecanpretendtobeusandsendmanyjunkmails.
Onlywhenwesolvetheseproblemsabove,canwereallyestablishemailclientwithfullyfunctions.
Onthenextpart,wewillshowhowwesolvetheseproblemsbyexplainingthecodewehaveedited!
4.CodeDescription
1)LoginPage.java
Atthisclass,wehavejustestablishedthefirstGraphicInterface,whichallowusinputtheusernameandpasswordofsender.
importjava.awt.*;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.*;
publicclassLoginPageimplementsActionListener{
JFramejfmain;
JPaneljp1,jp2,jp3;
JLabeltitle,t1,t2;
JTextFieldjt1;
JPasswordFieldjt2;
JButtonjbon;
publicLoginPage(){
jfmain=newJFrame("制作人:
刘耀蓬(10283012)");
jfmain.setBounds(500,240,350,200);
JPaneljp1=newJPanel();
title=newJLabel("用户登陆界面");
title.setHorizontalAlignment(SwingConstants.CENTER);
title.setFont(newFont("华文宋体",30,30));
jp1.add(title);
jfmain.add(jp1,BorderLayout.NORTH);
jp2=newJPanel();
jt1=newJTextField("",25);
jt2=newJPasswordField("",25);
t1=newJLabel("用户:
");
t2=newJLabel("密码:
");
SpringLayoutjla=newSpringLayout();
jp2.setLayout(jla);
jp2.add(t1);
jp2.add(jt1);
jp2.add(t2);
jp2.add(jt2);
jla.putConstraint(SpringLayout.WEST,t1,5,SpringLayout.WEST,jp2);
jla.putConstraint(SpringLayout.NORTH,t1,1,SpringLayout.NORTH,jp2);
jla.putConstraint(SpringLayout.WEST,jt1,45,SpringLayout.WEST,jp2);
jla.putConstraint(SpringLayout.NORTH,jt1,1,SpringLayout.NORTH,jp2);
jla.putConstraint(SpringLayout.WEST,t2,5,SpringLayout.WEST,jp2);
jla.putConstraint(SpringLayout.NORTH,t2,35,SpringLayout.NORTH,jp2);
jla.putConstraint(SpringLayout.WEST,jt2,45,SpringLayout.WEST,jp2);
jla.putConstraint(SpringLayout.NORTH,jt2,34,SpringLayout.NORTH,jp2);
jfmain.add(jp2,BorderLayout.CENTER);
jp3=newJPanel();
jbon=newJButton("登录");
jbon.addActionListener(this);
jp3.add(jbon,BorderLayout.NORTH);
jfmain.add(jp3,BorderLayout.SOUTH);
jfmain.setVisible(true);
jfmain.setDefaultCloseOperation(jfmain.EXIT_ON_CLOSE);
}
Attheperviouscodesusedforestablishedthegraphicframework,atthenextpartwewillshowtheresults.
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==jbon){
StringS=newString(jt2.getPassword());
SendMailPagesm=newSendMailPage(jt1.getText(),S);
jfmain.setVisible(false);
}
}
}
Thereisanimportantpartwemuststate:
“SendMailPagesm=newSendMailPage(jt1.getText(),S);”
Thesentenceallowanewobjectnamedsmacquiredtwoinletparameters——jt1.getText()includestheusernameofsenderandtheSincludesthepasswordofsender.ThesetwoparameterswillbepassedtothenextGraphicInterface.
2)SendMailPage.java
Atthisclass,wehavejustestablishedthesecondGraphicInterface,whichallowusinputtherecipientaddress,emailsubjectandthecontent.
importjava.awt.*;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.*;
publicclassSendMailPageimplementsActionListener{
JFramejfmain;
JPaneljp1,jp2,jp3;
JLabeltitle,t1,t2,t3;
JTextFieldjt1,jt2;
JTextAreajtext;
JButtonjbon;
Stringusername,password;
SendMailPage(Stringu,Stringp){
username=u;
password=p;
jfmain=newJFrame("制作人:
刘耀蓬(10283012)");
jfmain.setBounds(430,200,500,400);
jp1=newJPanel();
title=newJLabel("邮箱客户端书写界面");
title.setFont(newFont("华文宋体",30,30));
jp1.add(title);
jp2=newJPanel();
jt1=newJTextField("",35);
jt2=newJTextField("",35);
t1=newJLabel("收信件方:
");
t2=newJLabel("邮件主题:
");
t3=newJLabel("邮件内容:
");
jtext=newJTextArea();
jtext.setLineWrap(true);
jtext.setFont(newFont("华文宋体",15,15));
jtext.setSize(475,200);
SpringLayoutjla=newSpringLayout();
jp2.setLayout(jla);
jp2.add(t1);
jp2.add(jt1);
jp2.add(t2);
jp2.add(jt2);
jp2.add(t3);
jp2.add(jtext);
jla.putConstraint(SpringLayout.WEST,t1,5,SpringLayout.WEST,jp2);
jla.putConstraint(SpringLayout.NORTH,t1,10,SpringLayout.NORTH,jp2);
jla.putConstraint(SpringLayout.WEST,jt1,75,SpringLayout.WEST,jp2);
jla.putConstraint(SpringLayout.NORTH,jt1,10,SpringLayout.NORTH,jp2);
jla.putConstraint(SpringLayout.WEST,t2,5,SpringLayout.WEST,jp2);
jla.putConstraint(SpringLayout.NORTH,t2,55,SpringLayout.NORTH,jp2);
jla.putConstraint(SpringLayout.WEST,jt2,75,SpringLayout.WEST,jp2);
jla.putConstraint(SpringLayout.NORTH,jt2,54,SpringLayout.NORTH,jp2);
jla.putConstraint(SpringLayout.WEST,t3,5,SpringLayout.WEST,jp2);
jla.putConstraint(SpringLayout.NORTH,t3,95,SpringLayout.NORTH,jp2);
jla.putConstraint(SpringLayout.WEST,jtext,5,SpringLayout.WEST,jp2);
jla.putConstraint(SpringLayout.NORTH,jtext,115,SpringLayout.NORTH,jp2);
jla.putConstraint(SpringLayout.SOUTH,jtext,0,SpringLayout.SOUTH,jp2);
jbon=newJButton("发送");
jbon.addActionListener(this);
jp3=newJPanel();
jp3.add(jbon,BorderLayout.CENTER);
jfmain.add(jp1,BorderLayout.NORTH);
jfmain.add(jp2,BorderLayout.CENTER);
jfmain.add(jp3,BorderLayout.SOUTH);
jfmain.setVisible(true);
jfmain.setDefaultCloseOperation(jfmain.EXIT_ON_CLOSE);
}
Attheperviouscodesusedforestablishedthegraphicframework,atthenextpartwewillshowtheresults.
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==jbon){
EventQueue.invokeLater(newRunnable(){
publicvoidrun(){
try{
//System.out.println(t1.getText());
SMTPClientframe0=newSMTPClient(username,password,jt1.getText(),jt2.getText(),jtext.getText());
}catch(Exceptione){
e.printStackTrace();
}
}
});
}
}
}
“SMTPClientframe0=newSMTPClient(username,password,jt1.getText(),jt2.getText(),jtext.getText());”——thissentenceallowsanewobjectframe0acquiredfiveinletparameters:
Theusernameincludestheusernameofsender,thepasswordincludesthepasswordofsender,thejt1.getText()includestherecipientaddress,thejt2.getText()includestheemailsubjectandthejtext.getText()includestheemailcontent.
AlltheparameterswillbepassedtotheMainfunction!
3)MailMessage.java
Atthisclass,wehavejustdefinedthepatternoftheMessagewecollectedfromalltheinformationwhichuserinputtedinthetwoGraphicInterfaces.
publicclassMailMessage{
privateStringfrom;//发送方
privateStringto;//接收方
privateStringdatafrom;//邮件内显示:
发送人
privateStringdatato;//邮件内显示:
接收人
privateStringsubject;//主题
privateStringcontent;//内容
privateStringdate;//时间
privateStringuser;//发送方用户名
privateStringpassword;//发送方密码
publicStringgetPassword(){
returnpassword;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 网路 原理 实验 报告 邮件 客户端