在Java Applet中发Email (转载)

来源:互联网 发布:苹果手机淘宝旧版本 编辑:程序博客网 时间:2024/05/03 00:01
<script type="text/javascript">google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//</script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>在设计主页时,为了得到访问用户的反馈信息,我们经常将自己的Ema il地址嵌在主页上。其中最常用的做法是利用HTML语言但是,这样做的缺点是,无论读者使用的是Internet Explorer,还 是Netscape Navigatr ,在点击作者地址时都需另打开一个写作窗口, 使主页窗口被覆盖。这样读者在写信时看不到原文的内容,也不易进 行引用。笔者设计了一个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, hostFie ld; 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.getTex t(), hostField.gete xt()); else return super.action(e, arg); return true; } private void sendMsg(String sender, String recipient, String senderHost) { try { //与邮件服务器通信 Socket s = new Socket(appletSource, SMTP_PORT); PrintStream out = new PrintStream(s.getOutputStrea m()); MsgArea.selectAll(); out.println("HELLO " 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 以上程序在Windows 95、JDK1.1.2、Hotjava Browser 1.0环境 下调试通过。有兴趣的读者还可加上与SMTP服务器通信时的出错例程
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 铁甲衣 铁甲龙 铁甲衣2 铁甲机器人 铁甲兽神 铁甲草 铁甲战车 铁甲依旧在 铁甲小子 铁甲列车 铁甲圣骑士 铁甲图片 铁甲雄心第二季 铁甲二手工程机械网 铁甲二手挖掘机 铁甲无敌奖门人 铁甲网二手挖掘机 铁甲威虫之骑刃王 当年铁甲动帝王 铁甲小宝各个角色 铁甲雄兵手游 这就是铁甲第二季 铁甲小宝女主角下海图片 铁甲小宝角色 勇士号铁甲舰 铁甲雄兵鲁班学院攻略 铁甲雄兵手机版 铁甲网二手机械网 铁甲小宝小百合 卡布达铁甲小宝 二手铁甲工程机械网挖掘机 铁甲二手机械网 铁甲私人二手挖掘机 铁甲威虫骑刃王玩具 铁甲无敌奖门人全集 铁甲无敌奖门人45 铁甲工程机械论坛 铁甲工程机器网 铁甲威虫之骑刃王第二季 二手挖掘机网 铁钾二手挖掘机