偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

教你在JSP中使用JavaMail

開(kāi)發(fā) 后端
下面將介紹的就是在JSP中建立一個(gè)郵件發(fā)送收取工具。在這篇文章中你可以了解到JavaMail API的一些要點(diǎn)以及如何在JSP中使用它。本文中還包括了在JSP中使用JavaMail的實(shí)例。JavaMail是JSP應(yīng)用軟件中相當(dāng)強(qiáng)大的API。

你希望在JSP中建立一個(gè)郵件發(fā)送收取工具嗎?下面將介紹的就是在JSP中建立一個(gè)郵件發(fā)送收取工具。在這篇文章中你可以了解到JavaMail API的一些要點(diǎn)以及如何在JSP中使用它。本文中還包括了在JSP中使用JavaMail的實(shí)例。JavaMail是JSP應(yīng)用軟件中相當(dāng)強(qiáng)大的API。

閱讀這篇文章需要對(duì)JSP、JavaBeans和JavaMail有一定的初步了解。當(dāng)然,有關(guān)于JavaMail的知識(shí)你可以通過(guò)閱讀這篇文章來(lái)獲得。如果你對(duì)于以上三項(xiàng)一無(wú)所知,但你所使用的服務(wù)器支持JSP和JavaMail的話,你可以僅僅通過(guò)復(fù)制/粘貼來(lái)使用它們。


什么是JavaMail


JavaMail是Sun發(fā)布的用來(lái)處理email的API。它可以方便地執(zhí)行一些常用的郵件傳輸。


雖然JavaMail是Sun的API之一,但它目前還沒(méi)有被加在標(biāo)準(zhǔn)的java開(kāi)發(fā)工具包中(Java Development Kit),這就意味著你在使用前必須另外下載JavaMail文件。除此以外,你還需要有Sun的JavaBeans Activation Framework (JAF)。JavaBeans Activation Framework的運(yùn)行很復(fù)雜,在這里簡(jiǎn)單的說(shuō)就是JavaMail的運(yùn)行必須得依賴于它的支持。在Windows 2000下使用需要指定這些文件的路徑,在其它的操作系統(tǒng)上也類似。


接下來(lái)要講解的是這篇指南的最難理解的部分。


這篇指南包括三部分:HTML表格、關(guān)于JavaMail、JavaMail和JSP的結(jié)合。


***部分:HTML表格


***部分提供了一個(gè)最基本的基于HTML的email發(fā)送收取程序的例子。第二部分則講述JavaMail的工作原理。第三部分則介紹將JavaMail加入JSP,創(chuàng)建一個(gè)基本的email發(fā)送收取程序。


劃分組件


JSP最重要的特性是能將整個(gè)網(wǎng)頁(yè)劃分成一些細(xì)小的組件。這里使用的組件包括:


●一個(gè)用來(lái)將email的信息發(fā)送給JSP的HTML表格;


●一個(gè)JSP頁(yè)面用來(lái)處理和發(fā)送信件。


***步,就是創(chuàng)建一個(gè)HTML表格用來(lái)給JSP頁(yè)面發(fā)送信息。你可以將以下的HTML代碼復(fù)制到你的電腦上:


用來(lái)發(fā)送email的HTML源代碼:

  1. <HTML>   
  2.  
  3. <BODY>   
  4.  
  5. <FORM action="sendmail.JSP" method="post">   
  6.  
  7. <TABLE align="center">   
  8.  
  9. <TR>   
  10.  
  11. <TD width="50%">   
  12.  
  13. To:<BR><INPUT name="to" size="25">   
  14.  
  15. </TD>   
  16.  
  17. <TD width="50%">   
  18.  
  19. From:<BR><INPUT name="from" size="25">   
  20.  
  21. </TD>   
  22.  
  23. </TR>   
  24.  
  25. <TR>   
  26.  
  27. <TD colspan="2">   
  28.  
  29. Subject:<BR><INPUT name="subject" size="50">   
  30.  
  31. </TD>   
  32.  
  33. </TR>   
  34.  
  35. <TR>   
  36.  
  37. <TD colspan="2">   
  38.  
  39. <P>Message:<BR><TEXTAREA name="text" rows=25 cols=85></TEXTAREA></P>   
  40.  
  41. </TD>   
  42.  
  43. </TR>   
  44.  
  45. </TABLE>   
  46.  
  47. <INPUT type="submit" name="cb_submit" value=" Send ">   
  48.  
  49. <INPUT type="reset" name="cb_reset" value=" Clear ">   
  50.  
  51. </FORM>   
  52.  
  53. </BODY>   
  54.  
  55. </HTML>  

以上這段程序?qū)?chuàng)建一個(gè)包含email基本信息(例如:收件地址、發(fā)送地址、主題和內(nèi)容)的文件。當(dāng)然你可以根據(jù)你自己的需要來(lái)決定這個(gè)文件包含那些信息。


這個(gè)HTML文件的使用有兩點(diǎn)要求:***點(diǎn)是生成的文件必須發(fā)送給接下來(lái)將介紹的程序使用。在這個(gè)例子中就是sendmail.JSP,但在你使用時(shí),必須用這個(gè)文件在系統(tǒng)里的URL來(lái)代替它;第二點(diǎn)是必須有空間來(lái)允許用戶發(fā)送email。


第二部分將對(duì)JavaMail的特征進(jìn)行一些分析,為在第三部分創(chuàng)建JSP程序作準(zhǔn)備。所以接下來(lái)我們將學(xué)習(xí)JavaMail。


第二部分:關(guān)于JavaMail

文檔的使用


下載的JavaMail API中帶的文檔是很有用的。你可以在JavaMail下的/docs/javadocs/index.html找到它。第二部分主要將分析郵件程序的組件。你可以通過(guò)閱讀文檔來(lái)獲得更多這方面的信息。


組件發(fā)送郵件需要使用JavaMail,它使對(duì)郵件的操作變得簡(jiǎn)單易用。


屬性對(duì)象


JavaMail需要?jiǎng)?chuàng)建一個(gè)格式為"mail.smtp.host"的文件用來(lái)發(fā)送信息。

  1. Properties props = new Properties ();   
  2. props.put("mail.smtp.host""smtp.JSPinsider.com"); 對(duì)話對(duì)象  

所有的基于JavaMail的程序都至少需要一個(gè)或全部的對(duì)話目標(biāo)。

  1. Session sendMailSession;   
  2. sendMailSession = Session.getInstance(props, null);  


傳輸


郵件的傳輸只有送出或受到兩種狀態(tài)。JavaMail將這兩種不同狀態(tài)描述為傳輸和儲(chǔ)存。傳輸將送出郵件,而儲(chǔ)存將收取郵件。

  1. Transport transport;   
  2. transport = sendMailSession.getTransport("smtp");  

使用JavaMail能為我們節(jié)約大量的時(shí)間。JavaMail能代替所有的SMTP的工作。


注意:JavaMail并不能完全的支持所有的郵件發(fā)送收取工作。它目前僅支持IMAP、SMTP和POP3,除此以外你只有等待新的JavaMail版本或自己開(kāi)發(fā)協(xié)議。


信息對(duì)象


信息對(duì)象將把你所發(fā)送的郵件真實(shí)的反映出來(lái)。

  1. Message newMessage = new MimeMessage(sendMailSession);  


這就是我們所需要的全部四個(gè)對(duì)象。下一步將是如何將對(duì)象加入到JSP中。


第三部分:JavaMail和JSP的結(jié)合


創(chuàng)建JSP

下面我們將開(kāi)始將他們結(jié)合在一起。最重要的一點(diǎn)是要確認(rèn)根據(jù)頁(yè)面指示分類。還要記得在郵件上標(biāo)注java.util.date。

  1. <%@ page   
  2.  
  3. import" javax.mail.*, javax.mail.internet.*, javax.activation.*, java.util.*"   
  4.  
  5. %>  

其次,創(chuàng)建郵件發(fā)送的確認(rèn)信息。確認(rèn)信息可以是任意的,一般常用"你的郵件已經(jīng)發(fā)送出去了(Your mail has been sent)。"


信息是如何創(chuàng)建和發(fā)送的


我們?cè)诘诙糠掷镆呀?jīng)討論過(guò)信息對(duì)象的創(chuàng)建。我們下面將對(duì)信息進(jìn)行操作。這就和設(shè)置信息對(duì)象的屬性一樣簡(jiǎn)單。你可以通過(guò)下面的程序來(lái)實(shí)現(xiàn)這項(xiàng)操作。

  1. newMessage.setFrom(new InternetAddress(request.getParameter("from")));   
  2.  
  3.  
  4. newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(request.getParameter("to")));   
  5.  
  6.  
  7. newMessage.setSubject(request.getParameter("subject"));   
  8.  
  9.  
  10. newMessage.setSentDate(new Date());   
  11.  
  12.  
  13. newMessage.setText(request.getParameter("text"));  

現(xiàn)在將開(kāi)始發(fā)送信息。通過(guò)JavaMail來(lái)實(shí)現(xiàn)它非常簡(jiǎn)單。

  1. transport.send(newMessage);  


將所有的組件結(jié)合在一起


現(xiàn)在所有的組件都已經(jīng)齊全了?,F(xiàn)在將它們都放在JSP里面。要注意每一個(gè)錯(cuò)誤信息,并將它反饋給用戶。代碼如下,你可以通過(guò)復(fù)制它們直接使用:

  1. Sample JSP email Utility Using JavaMail   
  2.  
  3. <%@ page   
  4.  
  5. import=" javax.mail.*, javax.mail.internet.*, javax.activation.*,java.util.*"   
  6.  
  7. %>   
  8.  
  9. <html>   
  10.  
  11. <head>   
  12.  
  13. <TITLE>JSP meets JavaMail, what a sweet combo.</TITLE>   
  14.  
  15. </HEAD>   
  16.  
  17. <BODY>   
  18.  
  19. <%   
  20.  
  21. try{   
  22.  
  23. Properties props = new Properties();   
  24.  
  25. Session sendMailSession;   
  26.  
  27. Store store;   
  28.  
  29. Transport transport;   
  30.  
  31. sendMailSession = Session.getInstance(props, null);   
  32.  
  33. props.put("mail.smtp.host""smtp.JSPinsider.com");   
  34.  
  35. Message newMessage = new MimeMessage(sendMailSession);   
  36.  
  37. newMessage.setFrom(new InternetAddress(request.getParameter("from")));   
  38.  
  39. newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(request.getParameter("to")));   
  40.  
  41. newMessage.setSubject(request.getParameter("subject"));   
  42.  
  43. newMessage.setSentDate(new Date());   
  44.  
  45. newMessage.setText(request.getParameter("text"));   
  46.  
  47. transport = sendMailSession.getTransport("smtp");   
  48.  
  49. transport.send(newMessage);   
  50.  
  51. %>   
  52.  
  53. <P>Your mail has been sent.</P>   
  54.  
  55. <%   
  56.  
  57. }   
  58.  
  59. catch(MessagingException m)   
  60.  
  61. {   
  62.  
  63. out.println(m.toString());   
  64.  
  65. }   
  66.  
  67. %>   
  68.  
  69. </BODY>   
  70.  
  71. </HTML>  

你會(huì)很快體會(huì)到JavaMail的方便之處,JSP和JavaMail將是未來(lái)的希望。

【編輯推薦】

  1. 對(duì)Java編程思想的忠告
  2. 和我共同了解Java是什么
  3. 著名的Java論壇和網(wǎng)站
  4. 2009年十大Java技術(shù)解決方案
  5. 2008最值得學(xué)習(xí)的五種JAVA技術(shù)
責(zé)任編輯:仲衡 來(lái)源: 百度博客
相關(guān)推薦

2023-03-14 08:17:40

Bash編程語(yǔ)言

2009-02-25 10:55:29

FCKeditor控件JSP

2021-03-17 08:07:28

Linux Lsusb命令

2009-07-03 17:52:17

JSP2.0

2021-04-16 11:18:56

LinuxlsusbUSB

2009-07-01 14:05:05

JSP郵件系統(tǒng)

2009-09-23 13:04:58

HibernateOracle sequ

2017-07-24 13:37:42

深度學(xué)習(xí)KerasTensorFlow

2013-12-13 17:21:14

Lua腳本語(yǔ)言

2009-06-25 16:49:24

Hibernate

2023-11-17 12:04:39

GORM并發(fā)

2023-04-12 15:25:09

Bytrace鴻蒙

2023-05-15 08:32:45

2009-07-03 09:47:53

JSP JSTL

2021-03-22 08:45:30

異步編程Java

2023-08-12 15:05:26

Linuxcp 命令

2012-04-19 12:58:26

TitaniumJSS

2018-03-26 14:25:55

KubernetesSkaffold命令

2023-11-27 19:39:46

Goprotobuf

2013-05-14 10:13:06

WindowsLinux操作系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)