茫茫網海中的冷日 - 對這文章發表回應
茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1729595 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_60D_00033.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

對這文章發表回應

發表限制: 非會員 可以發表

發表者: 冷日 發表時間: 2008/3/18 6:50:38
此處利用java mail來寄信,java mail是J2EE中較晚加入的API,使用時需另外安裝Java Mail和JavaBeans Activation Framework兩個package。
<%@ page contentType="text/html; charset=big5" language="java" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>

impor Java Mail和JavaBeans Activation Framework兩個package中需要用到的class
<%@ page import="javax.mail.*" %>
<%@ page import="javax.mail.internet.*" %>
<%@ page import="javax.activation.*" %>

<%

利用session得到validate.jsp所傳遞過來的資料
String username = (String) session.getAttribute("a");
String body = (String) session.getAttribute("b");
String myname = (String) session.getAttribute("c");
String toaddress = (String) session.getAttribute("d");
String fromaddress = (String) session.getAttribute("e");
String picture = (String) session.getAttribute("f");
String mypicture = (String) session.getAttribute("g");

template.txt中記錄著電子賀卡外?#91;的樣板,以下?#123;式將使用者輸入的資料套入樣板,最後結果存入變數content中
FileInputStream fin = new FileInputStream(new File("D:\\jakarta-tomcat-5.0.16\\webapps\\ecard\\template.txt")) ;
BufferedReader reader = new BufferedReader(new InputStreamReader(fin));
StringBuffer message = new StringBuffer();
Calendar rightnow = Calendar.getInstance();
rightnow.setTime(new Date());
String content = null,line = null;
int index = 0;
StringBuffer line1 = null;
while ((line = reader.readLine()) != null)
{
if (line.indexOf("%getpic%") > 0 )
{
index = line.indexOf("%getpic%");
line1 = new StringBuffer(line);

if(picture.equals("other"))
{
line1.replace(index,index+8, mypicture);
}
else
{
line1.replace(index,index+8,"http://140.116.72.112:8080/ecard/image/" + picture);
}
message.append(line1);
}

if (line.indexOf("%getusername%") > 0 )
{
index = line.indexOf("%getusername%");
line1 = new StringBuffer(line);
line1.replace(index,index+13, username);
message.append(line1);

}else if (line.indexOf("%getbody%") > 0 )
{
index = line.indexOf("%getbody%");
line1 = new StringBuffer(line);
line1.replace(index,index+9, body);

message.append(line1);
} else if (line.indexOf("%getfromaddress%") > 0 )
{
index = line.indexOf("%getfromaddress%");
line1 = new StringBuffer(line);
line1.replace(index,index+16, fromaddress);

message.append(line1);
} else if (line.indexOf("%getmyname%") > 0 )
{
index = line.indexOf("%getmyname%");
line1 = new StringBuffer(line);
line1.replace(index,index+12, myname);

message.append(line1);
} else if (line.indexOf("%getyear%") > 0 )
{
index = line.indexOf("%getyear%");
line1 = new StringBuffer(line);
line1.replace(index,index+9, String.valueOf(rightnow.get(Calendar.YEAR)));

message.append(line1);
} else if (line.indexOf("%getmonth%") > 0 )
{
index = line.indexOf("%getmonth%");
line1 = new StringBuffer(line);
line1.replace(index,index+10, String.valueOf(rightnow.get(Calendar.MONTH)+1));

message.append(line1);
} else if (line.indexOf("%getdate%") > 0 )
{
index = line.indexOf("%getdate%");
line1 = new StringBuffer(line);
line1.replace(index,index+9, String.valueOf(rightnow.get(Calendar.DAY_OF_MONTH)));

message.append(line1);
}else{
line1 = new StringBuffer(line);

message.append(line1);

}
content = message.toString();

}

%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>sent</title>
</head>
<body>

<%-- 以下為送信部分的?#123;式碼 --%>式
<%
boolean sessionDebug = false;
InternetAddress[] address;
//?#93;定所要用的Mail伺服器和所使用的傳輸協定
java.util.Properties props = System.getProperties();
props.put("mail.host","turtle.ee.ncku.edu.tw");
props.put("mail.transport.protocol","smtp");
//產生新的maill session
javax.mail.Session mailSession = javax.mail.Session.getDefaultInstance(props,null);
mailSession.setDebug(sessionDebug);
MimeMessage msg = new MimeMessage(mailSession);
//?#93;定傳送郵件的發信人
msg.setFrom(new InternetAddress(fromaddress));
//?#93;定收信人的信箱
address = InternetAddress.parse(toaddress,false);
msg.setRecipients(Message.RecipientType.TO, address);
//?#93;定郵件主題
msg.setSubject("電子賀卡");
//?#93;定發信時間
msg.setSentDate(new java.util.Date());
//?#93;定郵件內容
msg.setContent(content,"text/html");
//傳送郵件
Transport.send(msg);
out.print("<center> "+ "已順利送達"+ "</center> <br>");
out.print("<center> <a href=\"input.jsp\">返回</a></center>");
%>

</body>
</html>
內容圖示
url email imgsrc image code quote
樣本
bold italic underline linethrough   












 [詳情...]
validation picture

注意事項:
預覽不需輸入認證碼,僅真正發送文章時才會檢查驗證碼。
認證碼有效期10分鐘,若輸入資料超過10分鐘,請您備份內容後,重新整理本頁並貼回您的內容,再輸入驗證碼送出。

選項

Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|