JSP與JavaMail如何發送三種類型的附件
這篇文章給大家分享的是有關JSP與JavaMail如何發送三種類型的附件的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
6.發送三種類型的附件
前面我們已學會了發送一般文本郵件和超文本郵件,今天我們將讓大家學會編寫三種類型的附件的郵件
發送程序.(注:撰寫界面仍然用前面的)
<%@ page="" contenttype="text/html;charset=GB2312">
<%request.setcharacterencoding("gb2312");%>
<%@ page="" import="Java.util.*,javax.Mail.*">
<%@ page="" import="javax.mail.inte.NET.*">
<%@ page="" import="javax.activation.*"><!--要發送附件必須引入該庫-->
<%@ page="" import="java.net.*"><!--要用到URL類-->
發送成功<%
try{
String tto=request.getParameter("to");
String ttitle=request.getParameter("title");
String tcontent=request.getParameter("content");
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,"text/html;charset=gb2312");//給BodyPart對象設置內容和格式/編碼方式
mm.addbodyPart(mdp);//將含有信件內容的BodyPart加入到MimeMultipart對象中
//設置信件的附件1(自定義附件:直接將所設文本內容加到自定義文件中作為附件發送)
mdp=new MimeBodyPart();//新建一個存放附件的BodyPart
DataHandler dh=new DataHandler("JavaMail附件測試","text/plain;charset=gb2312");
//新建一個DataHandler對象,并設置其內容和格式/編碼方式
mdp.setFileName("xxf.txt");//加上這句將作為附件發送,否則將作為信件的文本內容
mdp.setDataHandler(dh);//給BodyPart對象設置內容為dh
mm.addBodyPart(mdp);//將含有附件的BodyPart加入到MimeMultipart對象中
//設置信件的附件2(用本地上的文件作為附件)
mdp=new MimeBodyPart();
FileDatasource fds=new FileDataSource("g:/xx.txt");
dh=new DataHandler(fds);
mdp.setFileName("dd.txt");//可以和原文件名不一致
mdp.setDataHandler(dh);
mm.addBodyPart(mdp);
//設置信件的附件3(用遠程文件作為附件)
mdp=new MimeBodyPart();
URLDataSource ur=new URLDataSource(new URL("http://localhost:8080/JSPstudy/email/xx.gif"));
//注:這里用的參數只能為URL對象,不能為URL字串,在前面類介紹時有誤(請諒解),這里糾正一下.
dh=new DataHandler(ur);
mdp.setFileName("ss.txt");
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();
%>
發送成功!
去看看我的信箱
再發一封
<%
}catch(MessagingException e){
out.println(e.toString());
}
%>
感謝各位的閱讀!關于“JSP與JavaMail如何發送三種類型的附件”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!