分享
 
 
 

JSP与JavaMail (六)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

出处 CN-JAVA原创:javazealot

七.编写灵活的发送程序

本小节没加什么新鲜的东西,但是综合了以前的所有内容,可以让你灵活地发送你想要发的邮件.看了本小节之后对你会感觉到非常有用.

更改后的撰写界面程序如下:

-------------------------------------------------------------------------------------------

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>撰写邮件</title>

</head>

<body>

<form action="testall.jsp" method="post" name="form1">

<table width="75" border="0" align="center" cellspacing="1" bgcolor="#006600" class="black">

<tr bgcolor="#FFFFFF">

<td width="24%">收信人地址:</td>

<td width="76%"> <input name="to" type="text" id="to"></td>

</tr>

<tr bgcolor="#FFFFFF">

<td>主题:</td>

<td> <input name="title" type="text" id="title"></td>

</tr>

<tr>

<td height="18" colspan="2" bgcolor="#FFFFFF">信件类型

<select name="emailtype" id="emailtype">

<option value="text/plain" selected>Text</option>

<option value="text/html">Html</option>

</select></td>

</tr>

<tr>

<td height="53" colspan="2" bgcolor="#FFFFFF"><textarea name="content" cols="50" rows="5" id="content"></textarea></td>

</tr>

<tr align="center">

<td colspan="2" bgcolor="#FFFFFF">附件1(自定义):

<input name="fj1" type="text" id="fj1">

(输入文本信息) </td>

</tr>

<tr align="center" valign="bottom">

<td colspan="2" bgcolor="#FFFFFF">附件2(本地):

<input name="fj2" type="file" id="fj2" size="10"></td>

</tr>

<tr align="center">

<td colspan="2" bgcolor="#FFFFFF">附件3(远程):

<input name="fj3" type="text" id="fj3" value="http://">

(输入URL)</td>

</tr>

<tr align="center">

<td colspan="2" bgcolor="#FFFFFF"> <input type="submit" name="Submit" value="发送">

<input type="reset" name="Submit2" value="重置"></td>

</tr>

</table>

</form>

</body>

</html>

处理邮件的JSP程序如下:

----------------------------------------------------------------------------------------

<%@ page contentType="text/html;charset=GB2312" %>

<%request.setCharacterEncoding("gb2312");%>

<%@ page import="java.util.*,javax.mail.*"%>

<%@ page import="javax.mail.internet.*"%>

<%@ page import="javax.activation.*"%><!--要发送附件必须引入该库-->

<%@ page import="java.net.*"%><!--要用到URL类-->

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>发送成功</title>

</head>

<body>

<%

try{

String tto=request.getParameter("to");

String ttitle=request.getParameter("title");

String emailtype=request.getParameter("emailtype");//获取email类型

String tcontent=request.getParameter("content");

String tfj1=request.getParameter("fj1");

String tfj2=request.getParameter("fj2");

String tfj3=request.getParameter("fj3");

Properties props=new Properties();

props.put("mail.smtp.host","127.0.0.1");

props.put("mail.smtp.auth","true");

Session s=Session.getInstance(props);

s.setDebug(true);

MimeMessage message=new MimeMessage(s);

//给消息对象设置发件人/收件人/主题/发信时间

InternetAddress from=new InternetAddress("xxf@cafe.com");

message.setFrom(from);

InternetAddress to=new InternetAddress(tto);

message.setRecipient(Message.RecipientType.TO,to);

message.setSubject(ttitle);

message.setSentDate(new Date());

Multipart mm=new MimeMultipart();//新建一个MimeMultipart对象用来存放多个BodyPart对象

//设置信件文本内容

BodyPart mdp=new MimeBodyPart();//新建一个存放信件内容的BodyPart对象

mdp.setContent(tcontent,emailtype+";charset=gb2312");//给BodyPart对象设置内容和格式/编码方式

mm.addBodyPart(mdp);//将含有信件内容的BodyPart加入到MimeMultipart对象中

//设置信件的附件1(自定义附件:直接将所设文本内容加到自定义文件中作为附件发送)

mdp=new MimeBodyPart();//新建一个存放附件的BodyPart

DataHandler dh=new DataHandler(tfj1,"text/plain;charset=gb2312");

//新建一个DataHandler对象,并设置其内容和格式/编码方式

mdp.setFileName("text.txt");//加上这句将作为附件发送,否则将作为信件的文本内容

mdp.setDataHandler(dh);//给BodyPart对象设置内容为dh

mm.addBodyPart(mdp);//将含有附件的BodyPart加入到MimeMultipart对象中

//设置信件的附件2(用本地上的文件作为附件)

mdp=new MimeBodyPart();

FileDataSource fds=new FileDataSource(tfj2);

dh=new DataHandler(fds);

int ddd=tfj2.lastIndexOf("\\");

String fname=tfj2.substring(ddd);//提取文件名

String ffname=new String(fname.getBytes("gb2312"),"ISO8859-1");//处理文件名是中文的情况

mdp.setFileName(ffname);//可以和原文件名不一致,但最好一样

mdp.setDataHandler(dh);

mm.addBodyPart(mdp);

//设置信件的附件3(用远程文件作为附件)

mdp=new MimeBodyPart();

URL urlfj=new URL(tfj3);

URLDataSource ur=new URLDataSource(urlfj);

//注:这里用的参数只能为URL对象,不能为URL字串,在前面类介绍时有误(请谅解),这里纠正一下.

dh=new DataHandler(ur);

int ttt=tfj3.lastIndexOf("/");

String urlname=tfj3.substring(ttt);

//String urlfname=new String(urlname.getBytes("gb2312"),"ISO8859-1");//不知怎么回事,这里不能处理中文问题

mdp.setFileName(urlname);

mdp.setDataHandler(dh);

mm.addBodyPart(mdp);

message.setContent(mm);//把mm作为消息对象的内容

message.saveChanges();

Transport transport=s.getTransport("smtp");

transport.connect("127.0.0.1","xxf","coffee");

transport.sendMessage(message,message.getAllRecipients());

transport.close();

%>

<div align="center">

<p><font color="#FF6600">发送成功!</font></p>

<p><a href="recmail.jsp">去看看我的信箱</a><br>

<br>

<a href="index.htm">再发一封</a> </p>

</div>

<%

}catch(MessagingException e){

out.println(e.toString());

}

%>

</body>

</html>

到目前为止,我们基本上已学会了发各种类型的邮件了.但是,我们怎样去收自己的邮件呢,下一次再说吧:)!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有