首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> JSP 程式設計 >> 關於JSP

JSP 整合 JavaMail 打造郵件收發工具完整指南

     編輯:關於JSP

前言

想在 JSP 中建立郵件收發工具嗎?本文將詳細介紹 JavaMail API 核心概念,並示範如何在 JSP 中整合 JavaMail 實作完整的郵件發送功能。JavaMail 是 JSP 應用開發中相當強大的 API。

閱讀前提

需要具備 JSP、JavaBeans 與 JavaMail 基礎知識。若對這三項不熟,但伺服器支援 JSP 與 JavaMail,仍可透過複製貼上快速上手。

什麼是 JavaMail?

JavaMail 是 Sun 發布的處理電子郵件 API,能輕鬆執行常見郵件傳輸任務。雖屬 Sun API,但未包含在標準 JDK 中,使用前需額外下載 JavaMail 與 JavaBeans Activation Framework (JAF)。JAF 是 JavaMail 運作的必要支撐,Windows 2000 等環境需正確設定路徑。

架構拆解:三大組件

本指南分為三部份:HTML 表單、JavaMail 運作原理、JSP 整合實作。

第一部分:HTML 表單

建立基本的郵件資訊輸入表單,包含收件者、寄件者、主旨、內文等欄位,表單送往 sendmail.jsp 處理。

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

第二部分:JavaMail 核心物件

發送郵件需四個核心物件:

  • Properties 物件:設定 SMTP 主機 props.put("mail.smtp.host", "smtp.jspinsider.com")
  • Session 物件:建立郵件會話 Session.getInstance(props, null)
  • Transport 物件:處理郵件發送 session.getTransport("smtp")
  • Message 物件:封裝郵件內容 new MimeMessage(session)

JavaMail 目前支援 IMAP、SMTP、POP3 協定,其他協定需自行擴充。

第三部分:JSP 整合實作

完整的 JSP 郵件發送程式碼:

<%@ page import="javax.mail.*, javax.mail.internet.*, javax.activation.*, java.util.*" %>
<html><head><TITLE>JSP meets JavaMail</TITLE></head><BODY>
<%
  try {
    Properties props = new Properties();
    props.put("mail.smtp.host", "smtp.jspinsider.com");
    Session sendMailSession = Session.getInstance(props, null);
    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 transport = sendMailSession.getTransport("smtp");
    transport.send(newMessage);
%>
<P>Your mail has been sent.</P>
<%
  } catch (MessagingException m) {
    out.println(m.toString());
  }
%>
</BODY></html>

結語

JavaMail 讓 JSP 郵件功能開發變得簡單高效,JSP 與 JavaMail 的結合將為 Web 應用帶來更多可能性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved