以前的一个mail测试

 

以前测试通过的,现在拿出来,没测试。

1 html文件

< html >
< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312" >
< title > 撰写邮件 </ title >
</ head >
< link  href ="../css/style.css"  rel ="stylesheet"  type ="text/css" >
< body >
< div  align ="center" >< font  color ="#0000FF"  size ="2" >< strong > 问题报告 </ strong ></ font >  
</ div >
< form  action ="sendmaill.jsp"  method ="post"  name ="form1" >
  
< table  width ="75%"  border ="0"  align ="center"  cellspacing ="1"  bgcolor ="#CCCCFF"  class ="black" >
    
< tr  bgcolor ="#FFFFFF" >  
< td  width ="24%" > 收信人地址: </ td >
< td  width ="76%" >   < input  class =smallInput  size ="50"  name ="to"  type ="text"  id ="to"  readonly value ="****@163.com" ></ td >
</ tr >
< tr  bgcolor ="#FFFFFF" >  
< td > 主题: </ td >
      
< td >   < input  class =smallInput  name ="title"  size ="50"  type ="text"  id ="title" ></ td >
</ tr >
< tr >  
< td  height ="18"  colspan ="2"  bgcolor ="#FFFFFF" > 信件类型
< select  class =smallInput  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  class =smallInput  name ="content"  cols ="80"  rows ="5"  id ="content" ></ textarea ></ td >
</ tr >
< tr  nowrap >  
< td  colspan ="2"  bgcolor ="#FFFFFF" > 附件1(自定义): 
< input  class =smallInput  name ="fj1"  size ="50"  type ="text"  id ="fj1" >
(输入文本信息) 
</ td >
</ tr >
< tr   valign ="bottom" >  
< td  colspan ="2"  bgcolor ="#FFFFFF" > 附件2(本地): &nbsp;&nbsp;&nbsp;
< input  class =smallInput  name ="fj2"  type ="file"  id ="fj2"  size ="50" ></ td >
</ tr >
< tr >  
< td  colspan ="2"  bgcolor ="#FFFFFF" > 附件3(远程): &nbsp;&nbsp;&nbsp;  
< input  class =smallInput  size ="50"  name ="fj3"  type ="text"  id ="fj3"  value ="http://" >
(输入URL)
</ td >
</ tr >
< tr  align ="center" >  
< td  colspan ="2"  bgcolor ="#FFFFFF" >   < input  class =smallInput  type ="submit"  name ="Submit"  value ="发送" >  
< input  class =smallInput  type ="reset"  name ="Submit2"  value ="重置" ></ td >
</ tr >
</ table >
</ form >
</ body >
</ html >


 

2 发送的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","smtp.163.com");//存储发送邮件服务器的信息 
props.put("mail.smtp.auth","true");//同时通过验证
Session s=Session.getInstance(props);
s.setDebug(
true);

MimeMessage message
=new MimeMessage(s);

//给消息对象设置发件人/收件人/主题/发信时间
InternetAddress from=new InternetAddress("*****@163.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(
"smtp.163.com","cowjuan","810928");//以smtp方式登录邮箱 
transport.sendMessage(message,message.getAllRecipients());
transport.close();
%>
<div align="center">
<p><font color="#FF6600">发送成功!</font></p>
<p><br>
<br>
</p>
</div>
<%
}
catch (MessagingException e) {
out.println(e.toString());
}

%>
</ body >
</ html >

你可能感兴趣的:(以前的一个mail测试)