如何在JSP中使用JavaMail

這篇文章主要介紹了如何在JSP中使用JavaMail,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、荊門網(wǎng)絡(luò)推廣、微信小程序定制開發(fā)、荊門網(wǎng)絡(luò)營銷、荊門企業(yè)策劃、荊門品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供荊門建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:muchs.cn


什么是JavaMail


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


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


接下來要講解的是這篇指南的最難理解的部分。


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


***部分:HTML表格


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


劃分組件


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


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


●一個JSP頁面用來處理和發(fā)送信件。


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


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

<HTML>    <BODY>    <FORM action="sendmail.JSP" method="post">    <TABLE align="center">    <TR>    <TD width="50%">    To:<BR><INPUT name="to" size="25">    </TD>    <TD width="50%">    From:<BR><INPUT name="from" size="25">    </TD>    </TR>    <TR>    <TD colspan="2">    Subject:<BR><INPUT name="subject" size="50">    </TD>    </TR>    <TR>    <TD colspan="2">    <P>Message:<BR><TEXTAREA name="text" rows=25 cols=85></TEXTAREA></P>    </TD>    </TR>    </TABLE>    <INPUT type="submit" name="cb_submit" value=" Send ">    <INPUT type="reset" name="cb_reset" value=" Clear ">    </FORM>    </BODY>    </HTML>

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


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


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


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

文檔的使用


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


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


屬性對象


JavaMail需要創(chuàng)建一個格式為"mail.smtp.host"的文件用來發(fā)送信息。

Properties props = new Properties ();   props.put("mail.smtp.host", "smtp.JSPinsider.com"); 對話對象

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

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


傳輸


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

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

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


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


信息對象


信息對象將把你所發(fā)送的郵件真實的反映出來。

Message newMessage = new MimeMessage(sendMailSession);


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


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


創(chuàng)建JSP

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

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

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


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


我們在第二部分里已經(jīng)討論過信息對象的創(chuàng)建。我們下面將對信息進(jìn)行操作。這就和設(shè)置信息對象的屬性一樣簡單。你可以通過下面的程序來實現(xiàn)這項操作。

newMessage.setFrom(new InternetAddress(request.getParameter("from")));     newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(request.getParameter("to")));     newMessage.setSubject(request.getParameter("subject"));     newMessage.setSentDate(new Date());     newMessage.setText(request.getParameter("text"));

現(xiàn)在將開始發(fā)送信息。通過JavaMail來實現(xiàn)它非常簡單。

transport.send(newMessage);


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


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

Sample JSP email Utility Using JavaMail    <%@ page    import=" javax.mail.*, javax.mail.internet.*, javax.activation.*,java.util.*"    %>    <html>    <head>    <TITLE>JSP meets JavaMail, what a sweet combo.</TITLE>    </HEAD>    <BODY>    <%    try{    Properties props = new Properties();    Session sendMailSession;    Store store;    Transport transport;    sendMailSession = Session.getInstance(props, null);    props.put("mail.smtp.host", "smtp.JSPinsider.com");    Message newMessage = new MimeMessage(sendMailSession);    newMessage.setFrom(new InternetAddress(request.getParameter("from")));    newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(request.getParameter("to")));    newMessage.setSubject(request.getParameter("subject"));    newMessage.setSentDate(new Date());    newMessage.setText(request.getParameter("text"));    transport = sendMailSession.getTransport("smtp");    transport.send(newMessage);    %>    <P>Your mail has been sent.</P>    <%    }    catch(MessagingException m)    {    out.println(m.toString());    }    %>    </BODY>    </HTML>

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何在JSP中使用JavaMail”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

分享文章:如何在JSP中使用JavaMail
瀏覽地址:http://muchs.cn/article38/gehopp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、靜態(tài)網(wǎng)站、面包屑導(dǎo)航、網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)