%@ page import="javax.mail.*" %>
<%@ page import="javax.activation.*" %>
<%@ page import="javax.mail.internet.*" %>
<%@ page import="java.util.*,java.io.*,java.text.*" %>
<%@ page contentType="text/html;charset=MS950" %>
CH18 - JavaMail4.jsp
利用JavaMail來傳送註冊資料
<%
InternetAddress[] address = null;
ResourceBundle messages = ResourceBundle.getBundle("Mail");
request.setCharacterEncoding("MS950");
String mailserver = "ecd.pchome.com.tw";
String From = "jsptw@pchome.com.tw";
String Subject = "歡迎加入 JavaWorld 論壇";
String name = request.getParameter("Name");
String password = request.getParameter("Password");
String to = request.getParameter("To");
Object[] args = { name , password};
MessageFormat formatter = new MessageFormat("");
formatter.applyPattern(messages.getString("message"));
String messageText = formatter.format(args);
boolean sessionDebug = false;
try {
// 設定所要用的Mail 伺服器和所使用的傳送協定
java.util.Properties props = System.getProperties();
props.put("mail.host",mailserver);
props.put("mail.transport.protocol","smtp");
// 產生新的Session 服務
javax.mail.Session mailSession = javax.mail.Session.getDefaultInstance(props,null);
mailSession.setDebug(sessionDebug);
Message msg = new MimeMessage(mailSession);
// 設定傳送郵件的發信人
msg.setFrom(new InternetAddress(From));
// 設定傳送郵件至收信人的信箱
address = InternetAddress.parse(to,false);
msg.setRecipients(Message.RecipientType.TO, address);
// 設定信中的主題
msg.setSubject(Subject);
// 設定送信的時間
msg.setSentDate(new Date());
Multipart mp = new MimeMultipart();
MimeBodyPart mbp = new MimeBodyPart();
// 設定郵件內容的型態為 text/html
mbp.setContent(messageText,"text/html;charset=MS950");
mp.addBodyPart(mbp);
msg.setContent(mp);
Transport.send(msg);
out.println("郵件己順利傳送");
}
catch (MessagingException mex)
{
mex.printStackTrace();
}
%>