程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 在JSP中使用JavaMail郵件發送收取

在JSP中使用JavaMail郵件發送收取

編輯:關於JAVA

第二部分:關於JavaMail

文檔的使用

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

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

屬性對象

JavaMail需要創建一個格式為"mail.smtp.host"的文件用來發送信息。

Properties props = new PropertIEs ();

props.put("mail.smtp.host", "smtp.JSPinsider.com");

對話對象

所有的基於JavaMail的程序都至少需要一個或全部的對話目標。

Session sendMailSession;

sendMailSession = Session.getInstance(props, null);

傳輸

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

Transport transport;

transport = sendMailSession.getTransport("smtp");

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

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

信息對象

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

Message newMessage = new MimeMessage(sendMailSession);

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

第三部分:JavaMail和JSP的結合

創建JSP

下面我們將開始將他們結合在一起。最重要的一點是要確認根據頁面指示分類。還要記得在郵件上標注Java.util.date。

<%@ page

import= " javax.mail.*, javax.mail.internet.*, javax.activation.*, Java.util.*"

%>

其次,創建郵件發送的確認信息。確認信息可以是任意的,一般常用"你的郵件已經發送出去了(Your mail has been sent)。"

信息是如何創建和發送的

我們在第二部分裡已經討論過信息對象的創建。我們下面將對信息進行操作。這就和設置信息對象的屬性一樣簡單。你可以通過下面的程序來實現這項操作。

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"));

現在將開始發送信息。通過JavaMail來實現它非常簡單。

transport.send(newMessage);

將所有的組件結合在一起

現在所有的組件都已經齊全了。現在將它們都放在JSP裡面。要注意每一個錯誤信息,並將它反饋給用戶。代碼如下,你可以通過復制它們直接使用:

Sample JSP email Utility Using JavaMail

<%@ page

import=" javax.mail.*, javax.mail.internet.*, javax.activation.*,Java.util.*"

%>

JSP meets JavaMail, what a sweet combo.

<%

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);

%>

Your mail has been sent.

<%

}

catch(MessagingException m)

{

out.println(m.toString());

}

%>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved