JSP與JavaMail(6)---編寫靈活的郵件傳送程式 (轉)
JSP與JavaMail(6)---編寫靈活的郵件傳送程式 (轉)[@more@]七.編寫靈活的傳送
本小節沒加什麼新鮮的東西,但是綜合了以前的所有內容,可以讓你靈活地傳送你想要發的.看了本小節之後對你會感覺到非常有用.
更改後的撰寫介面程式如下:
-------------------------------------------------------------------------------------------
撰寫郵件
" method="post" name="form1">
處理郵件的JSP程式如下:
----------------------------------------------------------------------------------------
.util.*,javax.mail.*"%>
<!--要傳送附件必須引入該庫-->
<!--要用到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","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,emailtype+";charset=gb2312");//給BodyPart物件設定內容和格式/編碼方式
mm.adodyPart(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();
FileData 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();
%>
}catch(MessagingException e){
out.println(e.toString());
}
%>
到目前為止,我們基本上已學會了發各種型別的郵件了.但是,我們怎樣去收自己的郵件呢,下一次再說吧:)!
(待續)
本小節沒加什麼新鮮的東西,但是綜合了以前的所有內容,可以讓你靈活地傳送你想要發的.看了本小節之後對你會感覺到非常有用.
更改後的撰寫介面程式如下:
-------------------------------------------------------------------------------------------
收信人地址: | |
主題: | |
信件型別 < name="etype" id="type"> | |
附件1(自定義): (輸入文字資訊) | |
附件2(本地): | |
附件3(): (輸入URL) | |
|
處理郵件的JSP程式如下:
----------------------------------------------------------------------------------------
.util.*,javax.mail.*"%>
<!--要傳送附件必須引入該庫-->
<!--要用到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","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,emailtype+";charset=gb2312");//給BodyPart物件設定內容和格式/編碼方式
mm.adodyPart(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();
FileData 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();
%>
}catch(MessagingException e){
out.println(e.toString());
}
%>
到目前為止,我們基本上已學會了發各種型別的郵件了.但是,我們怎樣去收自己的郵件呢,下一次再說吧:)!
(待續)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-963596/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JSP與JavaMail(3)---試著寫第一個郵件傳送程式 (轉)JSJavaAI
- JSP與JavaMail(4)---傳送HTML格式的郵件 (轉)JSJavaAIHTML
- javamail傳送郵件(轉)JavaAI
- javamail郵件傳送例子JavaAI
- 使用JavaMail傳送郵件JavaAI
- JavaMail傳送郵件時常見錯誤JavaAI
- JSP筆記-傳送郵件JS筆記
- JSP中傳送郵件【Z】JS
- JavaMail 保證郵件傳送成功的方法總結JavaAI
- JavaMail:java使用QQ郵箱傳送郵件簡單版。JavaAI
- Springboot+Javamail實現郵件傳送Spring BootJavaAI
- JSP與JavaMail(5)---傳送三種型別的附件 (轉)JSJavaAI型別
- 用 C++Builder 編寫傳送電子郵件軟體 (轉)C++UI
- JavaMail郵件傳送在linux環境下不能傳送的問題解決JavaAILinux
- linux下用C編寫的基於smtp的郵件傳送程式Linux
- 郵件的傳送
- 在servlet中直接寫埠傳送郵件的例子 (轉)Servlet
- 郵件開發:傳送程式
- 郵件傳送
- 傳送郵件
- JavaMail 傳送附件的例子 (轉)JavaAI
- 在VC中呼叫預設的電子郵件程式傳送郵件 (轉)
- 請問 javamail 傳送程式編譯問題JavaAI編譯
- Ubuntu的郵件傳送Ubuntu
- SpringBoot整合Mail傳送郵件&傳送模板郵件Spring BootAI
- Java Mail 郵件傳送(二):簡單封裝的郵件傳送JavaAI封裝
- asp.net傳送郵件程式ASP.NET
- ThinkPHP6結合PHPMailer傳送郵件PHPAI
- Laravel 傳送郵件Laravel
- PHP傳送郵件PHP
- Django——郵件傳送Django
- java郵件傳送Java
- Laravel傳送郵件Laravel
- gmail傳送郵件AI
- Oracle郵件傳送Oracle
- java傳送郵件Java
- Powershell郵件傳送
- thinkphp 郵件傳送PHP