JSP Tutorial – JSP Send Email

JSP Tutorial – JSP Send Email

To send an email using a JSP, install JavaMail API and Java Activation Framework (JAF)
in CLASSPATH.

Send an Email

<%@ 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 =

"[email protected]"

; String from =

"[email protected]"

; String host =

"localhost"

; Properties properties = System.getProperties(); properties.setProperty(

"mail.smtp.host"

, host); Session mailSession = Session.getDefaultInstance(properties);

try

{ MimeMessage message =

new

MimeMessage(mailSession); message.setFrom(

new

InternetAddress(from)); message.addRecipient(Message.RecipientType.TO,

new

InternetAddress(to)); message.setSubject(

"This is the Subject Line!"

); message.setText(

"This is actual message"

); Transport.send(message); result =

"Sent message successfully...."

; }

catch

(MessagingException mex) { mex.printStackTrace(); result =

"Error: unable to send message...."

; } %> <html> <body> <center> </center> <p align=

"center"

> <% out.println(

"Result: "

+ result +

"\n"

); %> </p> </body> </html>

To send an email to multiple recipients, use the following method.

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

Send an HTML Email

Use the following function and parameter to send an HTML email out.

message.setContent(

"<h1>This is actual message</h1>"

,

"text/html"

);

Full source code

<%@ 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 =

"[email protected]"

; String from =

"[email protected]"

; String host =

"localhost"

; Properties properties = System.getProperties(); properties.setProperty(

"mail.smtp.host"

, host); Session mailSession = Session.getDefaultInstance(properties);

try

{ MimeMessage message =

new

MimeMessage(mailSession); message.setFrom(

new

InternetAddress(from)); message.addRecipient(Message.RecipientType.TO,

new

InternetAddress(to)); message.setSubject(

"This is the Subject Line!"

); message.setContent(

"<h1>This is actual message</h1>"

,

"text/html"

); Transport.send(message); result =

"Sent message successfully...."

; }

catch

(MessagingException mex) { mex.printStackTrace(); result =

"Error: unable to send message...."

; } %> <html> <body> <p align=

"center"

> <% out.println(

"Result: "

+ result +

"\n"

); %> </p> </body> </html>

Send Email with Attachment

<%@ 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 =

"[email protected]"

; String from =

"[email protected]"

; String host =

"localhost"

; Properties properties = System.getProperties(); properties.setProperty(

"mail.smtp.host"

, host); Session mailSession = Session.getDefaultInstance(properties);

try

{ MimeMessage message =

new

MimeMessage(mailSession); message.setFrom(

new

InternetAddress(from)); message.addRecipient(Message.RecipientType.TO,

new

InternetAddress(to)); message.setSubject(

"This is the Subject Line!"

); BodyPart messageBodyPart =

new

MimeBodyPart(); messageBodyPart.setText(

"This is message body"

); Multipart multipart =

new

MimeMultipart(); 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); message.setContent(multipart ); Transport.send(message); String title =

"Send Email"

; result =

"Sent message successfully...."

; }

catch

(MessagingException mex) { mex.printStackTrace(); result =

"Error: unable to send message...."

; } %> <html> <body> <% out.println(

"Result: "

+ result +

"\n"

); %> </body> </html>

User Authentication

To provide user ID and Password to the email server, set the user name and password in
properties as follows:

props.setProperty(

"mail.user"

,

"myuser"

); props.setProperty(

"mail.password"

,

"mypwd"

);