荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: zzt (打倒北约!!!), 信区: Java
标  题: 怎样在APPLET中发EMAIL
发信站: BBS 荔园晨风站 (Mon May 10 20:19:03 1999), 转信


发信人: yeal (?????????), 信区: JAVA
标  题: 怎样在APPLET中发EMAIL
发信站: 华南网木棉站 (Sun Jan 24 12:17:18 1999), 转信

为了得到反馈,我们在设计 主页时经常将自己的email地址嵌在主页上以便读者与
我们联系。其中最普遍的作法是利用HTML语言加上:Feedback to Author!链接。这样
作的缺点是无论读者使用的是Internet Explorer还是Netscape
Navigator,在点击作者地址时都需另打开一个写作窗口,使主页窗口被覆盖。这样
读者在写信时看不到原文的内容也不易进行引用。笔者设计了一个JAVA APPLET可嵌
在主页上, 解决了这个问题,同时使没有email地址的人也可反馈信息。源程序如下


import java.awt.*;
import java.applet.*;
import java.net.*;
import java.io.*;

    public class Javamail extends Applet {

       private int SMTP_PORT = 25;
                            //邮件服务器缺省端口号
       private String appletSource = "202.99.96.140";
                            //作者邮件服务器IP
       private TextArea MsgArea;
       private TextField senderField, recipientField, hostField;

       public void init() {

          setLayout(new BorderLayout());
          Panel fields = new Panel();
          fields.setLayout(new GridLayout(3, 1));
          Panel recPanel = new Panel();
          recPanel.setLayout(new GridLayout(2, 1));
          recPanel.add(new Label("Recipient"));
          recipientField = new TextField("zffan");
                      // 作 者 邮 件 服 务 器 用 户 名
          recPanel.add(recipientField);
          fields.add(recPanel);
          Panel sendPanel = new Panel();
          sendPanel.setLayout(new GridLayout(2, 1));
          sendPanel.add(new Label("Sender"));
          senderField = new TextField("Your Name");
                    // 由 读 者 填 其 用 户 名
          sendPanel.add(senderField);
          fields.add(sendPanel);
          Panel hostPanel = new Panel();
          hostPanel.setLayout(new GridLayout(2, 1));
          hostPanel.add(new Label("Host"));
          hostField = new TextField("YourCompany.com");
                  // 由 读 者 填 其 邮 件 服 务 器IP
          hostPanel.add(hostField);
          fields.add(hostPanel);
          add("North", fields);
          MsgArea = new TextArea();
          add("Center", MsgArea);
          add("South", new Button("SEND"));
       }

       public boolean handleEvent(Event e) {

          if (e.id == Event.WINDOW_DESTROY)
             System.exit(0);
          return super.handleEvent(e);
       }

       public boolean action(Event e, Object arg) {

          if (arg.equals("SEND"))
             sendMsg(senderField.getText(),
             recipientField.getText(), hostField.getText());
          else
             return super.action(e, arg);
          return true;
       }

       private void sendMsg(String sender, String recipient, String sende
rHost) {

          try { // 与 邮 件 服 务 器 通 信

             Socket s = new Socket(appletSource, SMTP_PORT);
             PrintStream out = new PrintStream(s.getOutputStream());
             MsgArea.selectAll();
             out.println("HELO " + senderHost);
              //邮件服务器不认证读者所输SMTP是否正确
             out.println("MAIL FROM: " + sender);
             out.println("RCPT TO: " + recipient);
             out.println("DATA");
             out.println(MsgArea.getSelectedText());
             out.println(".");
             out.println("QUIT");
          }

          catch(Exception e) { System.out.println("Error " + e); }
       }
    } //Javamail
  以上程序在Win95, JDK1.1.2, Hotjava Browser 1.0环境下调试通过。有兴趣
的读者还可加上与SMTP服务 器通信时的出错例程。



--
m;33m※ 来源:.华南网木棉站 bbs.gznet.edu.cn.[FROM: 202.38.240.203]m
--
m;36m※ 转寄:.华南网木棉站 bbs.gznet.edu.cn.[FROM: 210.39.3.47]m

--



日出东方,唯我不败;
    天上地下,唯我独尊。

※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.1.143]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店