网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  怎样在applet中发email     
  文章作者:未知  文章来源:水木森林  
  查看:90次  录入:管理员--2007-11-17  
 
  为了得到反馈,我们在设计主页时经常将自己的email地址嵌在主页上以便读者与我们联系。其中最普遍的作法是利用html语言加上:

feedbacktoauthor!这样作的缺点是无论读者使用的是internetexplorer还是netscapenavigator,在点击作者地址时都需另打开一个写作窗口,使主页窗口被覆盖。这样读者在写信时看不到原文的内容也不易进行引用。笔者设计了一个javaapplet可嵌在主页上,解决了这个问题,同时使没有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 senderhost) {

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("qu99v");
}

catch(exception e) { system.out.println("error " + e); }
}
} //javamail

以上程序在win95,jdk 1.1.2,hotjava browser 1.0环境下调试通过。有兴趣的读者还可加上与smtp服务器通信时的出错例程。

/////////////////////////////////////////////
天津大学电子系 范仲方(zffan@public.tpt.tj.cn)

 
 
上一篇: 在中文windows95环境下用java设计汉字动画    下一篇: 诊断 java 代码:设计轻松的代码维护
  相关文档
采用 javadoc 形式的集成文档有利有弊 11-17
使用middlegen 产生hibernate的数据库表映射文件 11-17
eclipse中的iadaptable分析 11-17
解析jbuilder数据库应用程序 11-17
如何实现用jacob来调用word的宏 11-17
java mail api及其应用 —— 一个邮件列表服务器的实现 (一).. 11-17
关于poi的api处理excel文档图形处理 11-17
read 方法 11-16
如何在java se中使用hibernate 11-17
jetspeed开发文档2 11-17
用reflection实现visitor模式 11-17
探讨java与ruby语言迁移时的安全性问题 11-19
java框架:初学者对hibernate的学习方法 05-14
java servlet 编程及应用之六 11-16
学习java需要知道的一些问题 11-17
jgraph 5.8 发布 11-17
用java写一个地图编辑器 11-17
jbuilder 9 常见快捷键 11-17
java基础:struts 框架之构建 model组件 11-27
编程技巧:在java应用开发中如何使用线程 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息