javaMail组件应用---------2

 

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

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

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

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

 

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("sungxmail@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","sungxmail","sungxd");

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

transport.close();

}catch(MessagingException e){

out.println(e.toString());

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值