都要用到JBuilder里的一个组件, 你可以去JBuilder目录下拷, 或自己用JDK的组件改一下
NO 1:这个程序调用FoxMail发送信件
/*这个程序要用到Jbuilder的几个类*/
import Java.awt.*; import java.awt.event.*; import java.applet.*; import borland.jbcl.layout.*; import borland.jbcl.control.*; import java.net.*;
public class EmailApplet extends Applet{ Button button; TextField textField;
public EmailApplet(){} public void init(){ try{ jbInit();} catch(Exception e){ e.printStackTrace();} }//end of init()
public void jbInit()throws Exception{ setLayout(new BorderLayout()); button=new Button("sendMail"); textField=new TextField(); add("North",textField); add("South",button); }//end of jbInit()
public boolean action(Event e,Object arg){ if(arg.equals("sendMail")){ try{ /*注重哦,这里是主要代码!!*/ String mailto=textField.getText(); URL url=new URL(mailto); AppletContext ac=this.getAppletContext(); ac.showDocument(url);} catch(Exception e2){ System.out.println(e2.toString());} }//end of if else{ return super.action(e,arg);} return true; }//end of action()
}//end of EmailApplet
NO 2:这个程序直接发送信件:
import borland.jbcl.layout.*; import borland.jdbl.*; import java.awt.*; import java.applet.Applet; import java.util.StringTokenizer; import java.net.Socket; import java.io.PrintStream; import java.lang.Exception; import java.awt.event.ActionEvent;
public class MailApplet extends Applet{ boolean isStandalone=false; PaneLayout panelLayout1=new PaneLayout(); panel panel1=new Panel(); Label label1=new Label(); XYLayout xYLayout1=new XYLayout(); Label Label2=new Label(); TextField textField1=new TextField(); TextField textField2=new TextField(); Label lable3=new Label(); TextArea textArea1=new TextArea(); Button button1=new Button(); Button button2=new Button(); private int SMTP_PORT=25; Frame frame=new Frame(); Color bgcolor=null; String send=""; String get="";
public MailApplet(){}
public void init(){ try{ int c1=Integer.parseInt(getParameter("color1")); int c2=Integer.parseInt(getParameter("color2")); int c3=Integer.parseInt(getParameter("color3")); bgcolor=new Color(c1,c2,c3); SMTP_PORT=Integer.parseInt(getParameter("port")); send=getParameter("send"); get=getParameter("get"); jbInit();} catch(Exception e){ e.printStackTrace();} }//end of init()
/*Component initialization*/ private void jbInit()throws Exception{ this.setSize(new Dimension(332,280)); panel1.setBackground(bgcolor); label1.setAlignment(2); label1.setText("收信人地址:"); label2.setAlignment(2); label2.setText("寄信人地址:"); label3.setAlignment(2); label3.setText("内容:"); button1.setLabel("发 送"); button1.addActionListener(new MailApplet_button1_actionAdapter(this)); button2.setLabel("清 除"); button2.addActionListener(new MailApplet_button2_actionAdapter(this)); panel1.setLayout(xYLayout);
this.setLayout(panelLayout1); thsi.add(panel1,new PaneConstraints("panel1","panel1",PaneConstraints.ROOT,1.0f));
panel1.add(label1,new XYConstraints(10,5,80,20)); panel1.add(label2,new XYConstraints(10,30,80,20)); panel1.add(textField1,new XYConstraints(95,5,200,20)); panel1.add(textField2,new XYConstraints(95,30,200,20)); panel1.add(label3,new XYConstraints(10,60,80,20)); panel1.add(textArea1,new XYConstraints(10,80,300,150)); panel1.add(button1,new XYConstraints(50,240,80,25)); panel1.add(button2,new XYConstraints(160,240,80,25));
textField1.setText(get); textField2.setText(send); }//end of jbInit()
public String getAppletInfo(){ return "Applet Information";}
public String[][] getParameteInfo(){ return null;}
void sendMail(){ String sender=textField2.getText(); String geter=textField1.getText(); String memo=textArea1.getText(); StringTokenizer st=new StringTokenizer(sender,"@"); int count=st.countTokens(); if(count!=2){ MessageDialog mdlg=new MessageDialog(frame,"邮件地址错误","你的发信人地址错误,请确认后重新发送!!",1); mdlg.show(); textField2.selectAll(); return;} String senderName=st.nextToken(); String senderHost=st.nextToken(); st=new StringTokenizer(geter,"@"); count=st.countTokens(); if(count!=2){ MessageDialog mdlg=new MessageDialog(frame,"邮件地址错误","你的收信人地址错误,请确认后重新发送!!",1); mdlg.show(); textField1.selectAll(); return;} String geterName=st.nextToken(); String geterHost=st.nextToken(); try{ Socket s=new Socket(geterHost,SMTP_PORT); PrintStream out=new PrintStream(s.getOutputStream()); out.println("HELLO:"+senderHost); /*邮件服务器不认证读者所输SMTP是否正确*/ out.println("MAIL FORM:"+senderName); out.println("RCPT TO:"+geterName); out.println("DATA"); out.println(memo); out.println(". QUIT"); MessageDialog mdlg=new MessageDialog(frame,"邮件地址正确","恭喜,您的邮件已经成功发送",1); mdlg.show();} catch(Exception e){ System.out.println(e.toString()); MessageDialog mdlg=new MessageDialog(frame,"邮件发送失败",e.toString(),1);//"邮件发送出错,请确认合重新发送!",1); mdlg.show(); return;} }//end of sendMail()
void button1_actionPerformed(ActionEvent e){ sendMail(); textArea1.setText("");}
void button2_actionPerformed(ActionEvent e){ textField1.setText(""); textFIeld2.setText(""); textArea1.setText("");}
}//end of MailApplet
class MailApplet_button1_actionAdapter implements java.awt.event.ActionListener{ MailApplet adaptee; MailApplet_button1_actionAdapter(MailApplet adaptee){ this.adaptee=adaptee;}
public void actionPerformed(ActionEvent e){ adaptee.button1_actionPerformed(e);} }//end of this
class MailApplet_button2_actionAdapter implements java.awt.event.ActionListener{ MailApplet adaptee; MailApplet_button2_actionAdapter(MailApplet adaptee){ this.adaptee=adaptee;} public void actionPerformed(ActionEvent e){ adaptee.button2_actionPerformed(e);} }//end of this
|