分享
 
 
 

怎样在APPLET中发EMAIL

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

为 了 得 到 反 馈, 我 们 在 设 计 主 页 时 经 常 将 自 己 的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 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("QUIT");

}

catch(Exception e) { System.out.println("Error " + e); }

}

} //Javamail

以 上 程 序 在Win95, JDK1.1.2, Hotjava Browser 1.0 环 境 下 调 试 通 过。 有 兴 趣 的 读 者 还 可 加 上 与SMTP 服 务 器 通 信 时 的 出 错 例 程。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有