JSP與JavaMail之4(發送HTML格式郵件)
來源:互聯網
上載者:User
js 5.發送HTML格式的郵件
所謂HTML格式,就是超文字格式設定.你的郵件可以用HTML代碼編寫,發給對方後,對方收到的將是資訊將是超文本,超文本比純文字好看多了.下以面是在以前例子的基礎上修改的程式:
<%@ page contentType="text/html;charset=GB2312" %>
<%request.setCharacterEncoding("gb2312");%>
<%@ page import="java.util.*,javax.mail.*"%>
<%@ page import="javax.mail.internet.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>發送成功</title>
</head>
<body>
<%
try{
String tto=request.getParameter("to");
String ttitle=request.getParameter("title");
String tcontent=request.getParameter("content");
Properties props=new Properties();
props.put("mail.smtp.host","127.0.0.1");
props.put("mail.smtp.auth","true");
Session s=Session.getInstance(props);
s.setDebug(true);
MimeMessage message=new MimeMessage(s);
//給訊息對象設定寄件者/收件者/主題/發信時間
InternetAddress from=new InternetAddress("xxf@cafe.com");
message.setFrom(from);
InternetAddress to=new InternetAddress(tto);
message.setRecipient(Message.RecipientType.TO,to);
message.setSubject(ttitle);
message.setSentDate(new Date());
//給訊息對象設定內容
BodyPart mdp=new MimeBodyPart();//建立一個存放信件內容的BodyPart對象
mdp.setContent(tcontent,"text/html;charset=gb2312");//給BodyPart對象設定內容和格式/編碼方式
Multipart mm=new MimeMultipart();//建立一個MimeMultipart對象用來存放BodyPart對
//象(事實上可以存放多個)
mm.addBodyPart(mdp);//將BodyPart加入到MimeMultipart對象中(可以加入多個BodyPart)
message.setContent(mm);//把mm作為訊息對象的內容
message.saveChanges();
Transport transport=s.getTransport("smtp");
transport.connect("127.0.0.1","xxf","coffee");
transport.sendMessage(message,message.getAllRecipients());
transport.close();
%>
<div align="center">
<p><font color="#FF6600">發送成功!</font></p>
<p><a href="recmail.jsp">去看看我的信箱</a><br>
<br>
<a href="index.htm">再發一封</a> </p>
</div>
<%
}catch(MessagingException e){
out.println(e.toString());
}
%>
</body>
</html>
注:撰寫郵件的html檔案仍然和前面(請參考jsp和Java Mail(三))那個一樣,不需要作任何修改.
怎麼樣,這個程式是不是很簡單呢?如果還有什麼不懂的話,請在下面留言.下一次我們將要講一講怎樣發送附件.
(待續)