亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄 搜索
JSP 基礎(chǔ)教程 JSP 開(kāi)發(fā)環(huán)境搭建 JSP 結(jié)構(gòu) JSP 生命周期 JSP 語(yǔ)法 JSP 指令 JSP 動(dòng)作元素 JSP 隱式對(duì)象 JSP 客戶(hù)端請(qǐng)求 JSP 服務(wù)器響應(yīng) JSP HTTP 狀態(tài)碼 JSP 表單處理 JSP 過(guò)濾器 JSP Cookies 處理 JSP Session JSP 文件上傳 JSP 日期處理 JSP 頁(yè)面重定向 JSP 點(diǎn)擊量統(tǒng)計(jì) JSP 自動(dòng)刷新 JSP 發(fā)送郵件 JSP 高級(jí)教程 JSP 標(biāo)準(zhǔn)標(biāo)簽庫(kù)(JSTL) <c:out> 標(biāo)簽 <c:set> 標(biāo)簽 <c:remove> 標(biāo)簽 <c:catch> 標(biāo)簽 <c:if> 標(biāo)簽 <c:choose> <c:import> 標(biāo)簽 <c:forEach> <c:param> 標(biāo)簽 <c:redirect> 標(biāo)簽 <fmt:formatNumber>標(biāo)簽 <fmt:parseNumber> 標(biāo)簽 <fmt:formatDate> 標(biāo)簽 <fmt:parseDate> 標(biāo)簽 <fmt:bundle> 標(biāo)簽 <fmt:setLocale> 標(biāo)簽 <fmt:setBundle> 標(biāo)簽 <fmt:timeZone> 標(biāo)簽 <fmt:setTimeZone> 標(biāo)簽 <fmt:message> 標(biāo)簽 <fmt:requestEncoding> 標(biāo)簽 <sql:setDataSource> 標(biāo)簽 <sql:query> 標(biāo)簽 <sql:update> 標(biāo)簽 <sql:param> 標(biāo)簽 <sql:dateParam> 標(biāo)簽 <sql:transaction> 標(biāo)簽 <x:out> 標(biāo)簽 <x:parse> 標(biāo)簽 <x:set> 標(biāo)簽 <x:if> 標(biāo)簽 <x:forEach> 標(biāo)簽 <x:choose> <x:transform> 標(biāo)簽 <x:param> 標(biāo)簽 fn:contains()函數(shù) fn:containsIgnoreCase()函數(shù) fn:endsWith()函數(shù) fn:escapeXml()函數(shù) fn:indexOf()函數(shù) fn:join()函數(shù) fn:length()函數(shù) fn:replace()函數(shù) fn:split()函數(shù) fn:startsWith()函數(shù) fn:substring()函數(shù) fn:substringAfter()函數(shù) fn:substringBefore()函數(shù) fn:toLowerCase()函數(shù) fn:toUpperCase()函數(shù) fn:trim()函數(shù) JSP 連接數(shù)據(jù)庫(kù) JSP XML 數(shù)據(jù)處理 JSP JavaBean JSP 自定義標(biāo)簽 JSP 表達(dá)式語(yǔ)言 JSP 異常處理 JSP 調(diào)試 JSP 國(guó)際化
文字

JSP 發(fā)送郵件


雖然使用JSP實(shí)現(xiàn)郵件發(fā)送功能很簡(jiǎn)單,但是需要有JavaMail API,并且需要安裝JavaBean Activation Framework。

  • 在這里下載最新版本的 JavaMail
  • 在這里下載最新版本的?JavaBeans Activation Framework(JAF)

下載并解壓這些文件,在根目錄下,您將會(huì)看到一系列jar包。將mail.jar包和activation.jar包加入CLASSPATH變量中。

發(fā)送一封簡(jiǎn)單的郵件

這個(gè)例子展示了如何從您的機(jī)器發(fā)送一封簡(jiǎn)單的郵件。它假定localhost已經(jīng)連接至網(wǎng)絡(luò)并且有能力發(fā)送一封郵件。與此同時(shí),請(qǐng)?jiān)僖淮未_認(rèn)mail.jar包和activation.jar包已經(jīng)添加進(jìn)CLASSPATH變量中。

<%@?page?import="java.io.*,java.util.*,javax.mail.*"%>
<%@?page?import="javax.mail.internet.*,javax.activation.*"%>
<%@?page?import="javax.servlet.http.*,javax.servlet.*"?%>
<%
???String?result;
???//?收件人的電子郵件
???String?to?=?"abcd@gmail.com";

???//?發(fā)件人的電子郵件
???String?from?=?"mcmohd@gmail.com";

???//?假設(shè)你是從本地主機(jī)發(fā)送電子郵件
???String?host?=?"localhost";

???//?獲取系統(tǒng)屬性對(duì)象
???Properties?properties?=?System.getProperties();

???//?設(shè)置郵件服務(wù)器
???properties.setProperty("mail.smtp.host",?host);

???//?獲取默認(rèn)的Session對(duì)象。
???Session?mailSession?=?Session.getDefaultInstance(properties);

???try{
??????//?創(chuàng)建一個(gè)默認(rèn)的MimeMessage對(duì)象。
??????MimeMessage?message?=?new?MimeMessage(mailSession);
??????//?設(shè)置?From:?頭部的header字段
??????message.setFrom(new?InternetAddress(from));
??????//?設(shè)置?To:?頭部的header字段
??????message.addRecipient(Message.RecipientType.TO,
???????????????????????????????new?InternetAddress(to));
??????//?設(shè)置?Subject:?header字段
??????message.setSubject("This?is?the?Subject?Line!");
??????//?現(xiàn)在設(shè)置的實(shí)際消息
??????message.setText("This?is?actual?message");
??????//?發(fā)送消息
??????Transport.send(message);
??????result?=?"Sent?message?successfully....";
???}catch?(MessagingException?mex)?{
??????mex.printStackTrace();
??????result?=?"Error:?unable?to?send?message....";
???}
%>
<html>
<head>
<title>Send?Email?using?JSP</title>
</head>
<body>
<center>
<h1>Send?Email?using?JSP</h1>
</center>
<p?align="center">
<%?
???out.println("Result:?"?+?result?+?"\n");
%>
</p>
</body>
</html>

現(xiàn)在訪問(wèn)http://localhost:8080/SendEmail.jsp,它將會(huì)發(fā)送一封郵件給abcd@gmail.com 并顯示如下結(jié)果:

Send?Email?using?JSP
Result:?Sent?message?successfully....

如果想要把郵件發(fā)送給多人,下面列出的方法可以用來(lái)指明多個(gè)郵箱地址:

void?addRecipients(Message.RecipientType?type,?
???????????????????Address[]?addresses)
throws?MessagingException

參數(shù)的描述如下:

  • type:這個(gè)值將會(huì)被設(shè)置成TO,CC,或BCC。CC代表副本,BCC代表黑色副本,例子程序中使用的是TO。
  • addresses:這是一個(gè)郵箱地址的數(shù)組,當(dāng)指定郵箱地址時(shí)需要使用InternetAddress()方法。

發(fā)送一封HTML郵件

這個(gè)例子發(fā)送一封簡(jiǎn)單的HTML郵件。它假定您的localhost已經(jīng)連接至網(wǎng)絡(luò)并且有能力發(fā)送郵件。與此同時(shí),請(qǐng)?jiān)僖淮未_認(rèn)mail.jar包和activation.jar包已經(jīng)添加進(jìn)CLASSPATH變量中。

這個(gè)例子和前一個(gè)例子非常相似,不過(guò)在這個(gè)例子中我們使用了setContent()方法,將"text/html"做為第二個(gè)參數(shù)傳給它,用來(lái)表明消息中包含了HTML內(nèi)容。

<%@?page?import="java.io.*,java.util.*,javax.mail.*"%>
<%@?page?import="javax.mail.internet.*,javax.activation.*"%>
<%@?page?import="javax.servlet.http.*,javax.servlet.*"?%>
<%
???String?result;
???//?收件人的電子郵件
???String?to?=?"abcd@gmail.com";

???//?發(fā)件人的電子郵件
???String?from?=?"mcmohd@gmail.com";

???//?假設(shè)你是從本地主機(jī)發(fā)送電子郵件
???String?host?=?"localhost";

???//?獲取系統(tǒng)屬性對(duì)象
???Properties?properties?=?System.getProperties();

???//?設(shè)置郵件服務(wù)器
???properties.setProperty("mail.smtp.host",?host);

???//?獲取默認(rèn)的Session對(duì)象。
???Session?mailSession?=?Session.getDefaultInstance(properties);

???try{
??????//?創(chuàng)建一個(gè)默認(rèn)的MimeMessage對(duì)象。
??????MimeMessage?message?=?new?MimeMessage(mailSession);
??????//?設(shè)置?From:?頭部的header字段
??????message.setFrom(new?InternetAddress(from));
??????//?設(shè)置?To:?頭部的header字段
??????message.addRecipient(Message.RecipientType.TO,
???????????????????????????????new?InternetAddress(to));
??????//?設(shè)置?Subject:?header字段
??????message.setSubject("This?is?the?Subject?Line!");
?????
??????//?設(shè)置?HTML消息
??????message.setContent("<h1>This?is?actual?message</h1>",
????????????????????????????"text/html"?);
??????//?發(fā)送消息
??????Transport.send(message);
??????result?=?"Sent?message?successfully....";
???}catch?(MessagingException?mex)?{
??????mex.printStackTrace();
??????result?=?"Error:?unable?to?send?message....";
???}
%>
<html>
<head>
<title>Send?HTML?Email?using?JSP</title>
</head>
<body>
<center>
<h1>Send?Email?using?JSP</h1>
</center>
<p?align="center">
<%?
???out.println("Result:?"?+?result?+?"\n");
%>
</p>
</body>
</html>

現(xiàn)在你可以嘗試使用以上JSP文件來(lái)發(fā)送HTML消息的電子郵件。


在郵件中包含附件

這個(gè)例子告訴我們?nèi)绾伟l(fā)送一封包含附件的郵件。

<%@?page?import="java.io.*,java.util.*,javax.mail.*"%>
<%@?page?import="javax.mail.internet.*,javax.activation.*"%>
<%@?page?import="javax.servlet.http.*,javax.servlet.*"?%>
<%
???String?result;
???//?收件人的電子郵件
???String?to?=?"abcd@gmail.com";

???//?發(fā)件人的電子郵件
???String?from?=?"mcmohd@gmail.com";

???//?假設(shè)你是從本地主機(jī)發(fā)送電子郵件
???String?host?=?"localhost";

???//?獲取系統(tǒng)屬性對(duì)象
???Properties?properties?=?System.getProperties();

???//?設(shè)置郵件服務(wù)器
???properties.setProperty("mail.smtp.host",?host);

???//?獲取默認(rèn)的Session對(duì)象。
???Session?mailSession?=?Session.getDefaultInstance(properties);

???try{
??????//?創(chuàng)建一個(gè)默認(rèn)的MimeMessage對(duì)象。
??????MimeMessage?message?=?new?MimeMessage(mailSession);

??????//?設(shè)置?From:?頭部的header字段
??????message.setFrom(new?InternetAddress(from));

??????//?設(shè)置?To:?頭部的header字段
??????message.addRecipient(Message.RecipientType.TO,
???????????????????????????????new?InternetAddress(to));

??????//?設(shè)置?Subject:?header字段
??????message.setSubject("This?is?the?Subject?Line!");

??????//?創(chuàng)建消息部分
??????BodyPart?messageBodyPart?=?new?MimeBodyPart();

??????//?填充消息
??????messageBodyPart.setText("This?is?message?body");
??????
??????//?創(chuàng)建多媒體消息
??????Multipart?multipart?=?new?MimeMultipart();

??????//?設(shè)置文本消息部分
??????multipart.addBodyPart(messageBodyPart);

??????//?附件部分
??????messageBodyPart?=?new?MimeBodyPart();
??????String?filename?=?"file.txt";
??????DataSource?source?=?new?FileDataSource(filename);
??????messageBodyPart.setDataHandler(new?DataHandler(source));
??????messageBodyPart.setFileName(filename);
??????multipart.addBodyPart(messageBodyPart);

??????//?發(fā)送完整消息
??????message.setContent(multipart?);

??????//?發(fā)送消息
??????Transport.send(message);
??????String?title?=?"Send?Email";
??????result?=?"Sent?message?successfully....";
???}catch?(MessagingException?mex)?{
??????mex.printStackTrace();
??????result?=?"Error:?unable?to?send?message....";
???}
%>
<html>
<head>
<title>Send?Attachement?Email?using?JSP</title>
</head>
<body>
<center>
<h1>Send?Attachement?Email?using?JSP</h1>
</center>
<p?align="center">
<%?
???out.println("Result:?"?+?result?+?"\n");
%>
</p>
</body>
</html>


用戶(hù)認(rèn)證部分

如果郵件服務(wù)器需要用戶(hù)名和密碼來(lái)進(jìn)行用戶(hù)認(rèn)證的話(huà),可以像下面這樣來(lái)設(shè)置:

?props.setProperty("mail.user",?"myuser");
?props.setProperty("mail.password",?"mypwd");

使用表單發(fā)送郵件

使用HTML表單接收一封郵件,并通過(guò)request對(duì)象獲取所有郵件信息:

String?to?=?request.getParameter("to");
String?from?=?request.getParameter("from");
String?subject?=?request.getParameter("subject");
String?messageText?=?request.getParameter("body");

獲取以上信息后,您就可以使用前面提到的例子來(lái)發(fā)送郵件了。

關(guān)于我們 聯(lián)系我們 留言板

手冊(cè)網(wǎng)

上一篇: 下一篇: