邮件客户机分析[1]课件

上传人:痛*** 文档编号:251193004 上传时间:2024-11-06 格式:PPT 页数:42 大小:1.54MB
返回 下载 相关 举报
邮件客户机分析[1]课件_第1页
第1页 / 共42页
邮件客户机分析[1]课件_第2页
第2页 / 共42页
邮件客户机分析[1]课件_第3页
第3页 / 共42页
点击查看更多>>
资源描述
,*,邮件客户机分析1,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,邮件客户机分析1,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,邮件客户机分析1,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,邮件客户机分析1,*,电子邮件发件实验,邮件客户机分析1,电子邮件流程,用户A,用户B,服务器A,服务器B,1、用户A通过邮件客户端发送邮件到服务器A,2、服务器A将邮件发送到服务器B,3、用户B接受服务器B上的邮件,邮件客户机分析1,用户A邮件发送过程,用户A客户端首先和服务器A建立,TCP连接,确认之后,用户A和服务器A之间,采用SMTP协议发送邮件内容,邮件内容传输完毕后,发送结束,邮件客户机分析1,邮件客户端JAVA程序,该程序分为4部分,分别为mailclient、envelope、message、smtpconnection,Mail cilent为客户端主程序,包括,使用界面、按键的定义,,整个的发送流程中类的创建,message为发送邮件的,内容,部分,包含有,发件人,、,收件人,等内容,envelope为,用于smtp协议的信息传递,,包含发送接收信息以及message信息,smtpconnection为发件过程中和,smtp连接的建立以及关闭,邮件客户机分析1,发送过程中使用的指令,HELO 250,MAIL FROM 250,RCPT TO 250,DATA 354,QUIT 221,邮件客户机分析1,Mail Client,import java.io.*;,import .*;,import java.awt.*;,import java.awt.event.*;,public class MailClient extends Frame,private Button btSend=new Button(Send);,private Button btClear=new Button(Clear);,private Button btQuit=new Button(Quit);,private Label serverLabel=new Label(Local mailserver:);,private TextField serverField=new TextField(,40);,private Label fromLabel=new Label(From:);,private TextField fromField=new TextField(,40);,private Label toLabel=new Label(To:);,private TextField toField=new TextField(,40);,private Label subjectLabel=new Label(Subject:);,private TextField subjectField=new TextField(,40);,邮件客户机分析1,private Label messageLabel=new Label(Message:);,private TextArea messageText=new TextArea(10,40);,/*,*Create a new MailClient window with fields for entering all the relevant,*information(From,To,Subject,and message).,*/,public MailClient(),super(Java MailClient);,Panel serverPanel=new Panel(new BorderLayout();,Panel fromPanel=new Panel(new BorderLayout();,Panel toPanel=new Panel(new BorderLayout();,Panel subjectPanel=new Panel(new BorderLayout();,Panel messagePanel=new Panel(new BorderLayout();,serverPanel.add(serverLabel,BorderLayout.WEST);,serverPanel.add(serverField,BorderLayout.CENTER);,fromPanel.add(fromLabel,BorderLayout.WEST);,fromPanel.add(fromField,BorderLayout.CENTER);,toPanel.add(toLabel,BorderLayout.WEST);,邮件客户机分析1,toPanel.add(toField,BorderLayout.CENTER);,subjectPanel.add(subjectLabel,BorderLayout.WEST);,subjectPanel.add(subjectField,BorderLayout.CENTER);,messagePanel.add(messageLabel,BorderLayout.NORTH);,messagePanel.add(messageText,BorderLayout.CENTER);,Panel fieldPanel=new Panel(new GridLayout(0,1);,fieldPanel.add(serverPanel);,fieldPanel.add(fromPanel);,fieldPanel.add(toPanel);,fieldPanel.add(subjectPanel);,/*Create a panel for the buttons and listeners to the buttons.*/,Panel buttonPanel=new Panel(new GridLayout(1,0);,btSend.addActionListener(new SendListener();,btClear.addActionListener(new ClearListener();,btQuit.addActionListener(new QuitListener();,buttonPanel.add(btSend);,buttonPanel.add(btClear);,buttonPanel.add(btQuit);,邮件客户机分析1,/*Add,pack,and show*/,add(fieldPanel,BorderLayout.NORTH);,add(messagePanel,BorderLayout.CENTER);,add(buttonPanel,BorderLayout.SOUTH);,pack();,show();,static public void main(String argv),new MailClient();,/*Handler for the Send-button.*/,class SendListener implements ActionListener,public void actionPerformed(ActionEvent event),System.out.println(Sending mail);,/*Check that we have the local mailserver*/,if(serverField.getText().equals(),System.out.println(Need name of local mailserver!);,邮件客户机分析1,return;,/*,确认发送者和接收者的邮件地址正确,*/,if(fromField.getText().equals(),System.out.println(Need sender!);,return;,if(toField.getText().equals(),System.out.println(,Need recipient!,);,return;,/*Create the message*/,Message mailMessage=new Message(fromField.getText(),toField.getText(),subjectField.getText(),messageText.getText();,邮件客户机分析1,/*Check that the message is valid,i.e.,sender and recipient addresss look ok.*/,if(!mailMessage.isValid(),System.out.println(Mail is not valid!);,return;,Envelope envelope;,try,envelope=new Envelope(mailMessage,serverField.getText();,catch(UnknownHostException e),/*If there is an error,do not go further*/,System.out.println(Unknown host!);,return;,邮件客户机分析1,try,SMTPConnection connection=new SMTPConnection(envelope);,connection.send(envelope);,connection.close();,catch(IOException error),System.out.println(Sending failed:+error);,return;,System.out.println(Mail send successfully!);,/*Clear the fields on the GUI.*/,class ClearListener implements ActionListener,public void actionPerformed(ActionEvent e),System.out.println(Clearing fields);,fromField.setText();,toField.setText();,subjectField.setText();,邮件客户机分析1,messageText.setText();,/*Quit*/,class QuitListener implements ActionListener,public void actionPerformed(ActionEvent e),System.exit(0);,邮件客户机分析1,Message,import java.util.*;,import java.text.*;,public class Message,public String Headers;,public String Body;,private String From;,private String To;,/*To make it look nicer*/,private static final String CRLF=rn;,/*Create the message object by inserting the required headers from RFC 822(From,To,Date).*/,public Message(String from,String to,String subject,St
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!