다음은 컴퓨터에서 HTML 이메일을 보내는 예입니다. localhost 인터넷에 연결되어 있고 이메일을 보낼 수 있을 만큼 충분히 가능합니다. Java Email API 패키지의 모든 jar 파일이 및 JAF 패키지 CLASSPATH에서 사용할 수 있습니다.
이 예제는 setContent()를 사용한다는 점을 제외하고는 이전 예제와 매우 유사합니다. 두 번째 인수가 "text/html"인 콘텐츠를 설정하는 방법 HTML 콘텐츠가 메시지에 포함되도록 지정합니다.
이 예를 사용하면 필요한 만큼 큰 HTML 콘텐츠를 보낼 수 있습니다.
예시
<%@ page import = "java.io.*,java.util.*,javax.mail.*"%>
<%@ page import = "javax.mail.internet.*,javax.activation.*"%>
<%@ page import = "javax.servlet.http.*,javax.servlet.*" %>
<%
String result;
// Recipient's email ID needs to be mentioned.
String to = "abcd@gmail.com";
// Sender's email ID needs to be mentioned
String from = "mcmohd@gmail.com";
// Assuming you are sending email from localhost
String host = "localhost";
// Get system properties object
Properties properties = System.getProperties();
// Setup mail server
properties.setProperty("mail.smtp.host", host);
// Get the default Session object.
Session mailSession = Session.getDefaultInstance(properties);
try {
// Create a default MimeMessage object.
MimeMessage message = new MimeMessage(mailSession);
// Set From: header field of the header.
message.setFrom(new InternetAddress(from));
// Set To: header field of the header.
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// Set Subject: header field
message.setSubject("This is the Subject Line!");
// Send the actual HTML message, as big as you like
message.setContent("<h1>This is actual message</h1>", "text/html" );
// Send message
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>