JSP與JavaMail(5)---傳送三種型別的附件 (轉)
JSP與JavaMail(5)---傳送三種型別的附件 (轉)[@more@]
傳送成功
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.setDe(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.adodyPart(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();
FileData 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("study//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());
}
%>
傳送附件是不是很有趣呢?但是在這裡由於沒有修改撰寫介面,要傳送的附件只能在程式裡固定,所以一點都不靈活.不用擔心,下一次我們將重寫撰寫介面,當然同時也會修改郵件處理程式,到時我們將能靈活地傳送自己的郵件.
(待續)
6.傳送三種型別的附件
前面我們已學會了傳送一般文字和超文字郵件,今天我們將讓大家學會編寫三種型別的附件的郵件
傳送.(注:撰寫介面仍然用前面的)
.util.*,javax..*"%>
<!--要傳送附件必須引入該庫-->
<!--要用到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.setDe(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.adodyPart(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();
FileData 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("study//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());
}
%>
傳送附件是不是很有趣呢?但是在這裡由於沒有修改撰寫介面,要傳送的附件只能在程式裡固定,所以一點都不靈活.不用擔心,下一次我們將重寫撰寫介面,當然同時也會修改郵件處理程式,到時我們將能靈活地傳送自己的郵件.
(待續)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-963594/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaMail 傳送附件的例子 (轉)JavaAI
- JSP與JavaMail(4)---傳送HTML格式的郵件 (轉)JSJavaAIHTML
- JSP與JavaMail(6)---編寫靈活的郵件傳送程式 (轉)JSJavaAI
- javamail傳送郵件(轉)JavaAI
- JSP與JavaMail(3)---試著寫第一個郵件傳送程式 (轉)JSJavaAI
- JSP與JavaMail(1)---JavaMail和JAF的介紹 (轉)JSJavaAI
- JavaMail中文附件的處理方法 (轉)JavaAI
- javamail郵件傳送例子JavaAI
- 使用JavaMail傳送郵件JavaAI
- JavaMail 郵件傳送,有意思的附件名亂碼 → 客戶端正常,web端亂碼JavaAI客戶端Web
- 5G訊息的三種型別型別
- Java郵件傳送帶附件Java
- python 傳送buffer型別資料, 傳送octet-stream型別資料, 傳送Uint8Array型別資料Python型別UI
- 在Linux命令列傳送電子郵件附件的兩種方法Linux命令列
- Python 傳送帶有附件的郵件Python
- linux shell傳送帶附件的郵件Linux
- 用shell指令碼傳送帶附件的email指令碼AI
- 【轉載】傳送SAP附件到 WEBSERVICE介面(二進位制)Web
- sap table 分為三種型別(轉)型別
- PHP中資料型別轉換的三種方式PHP資料型別
- Javamail 中附件中文名字亂碼祥解 (轉)JavaAI
- JavaMail傳送郵件時常見錯誤JavaAI
- 請問 javamail 傳送程式編譯問題JavaAI編譯
- JavaMail 保證郵件傳送成功的方法總結JavaAI
- Mac郵件怎麼傳送超大附件Mac
- JavaMail郵件傳送在linux環境下不能傳送的問題解決JavaAILinux
- 【主機】sendEmail傳送帶有附件的郵件AI
- C# - MailSender 郵件傳送元件原始碼 (支援ESMTP, 附件) (轉)C#AI元件原始碼
- 【Redis】Redis的資料型別速查(5種基礎型別,5特殊型別)Redis資料型別
- 鐳速傳輸:資料整合的5種常見型別型別
- 【Arishuang】ASP.NET2.0_執行頁面傳送的強型別方法與弱型別方法ASP.NET型別
- Springboot+Javamail實現郵件傳送Spring BootJavaAI
- oracle的三種型別的程式Oracle型別
- c# 傳送郵件程式碼,帶附件C#
- 【python】用SMTP模組傳送帶附件的郵件Python
- springmvc引數型別轉換三種方式SpringMVC型別
- 三種輔導型別型別
- DOCTYPE宣告三種型別型別