0% found this document useful (0 votes)
114 views4 pages

Java Email Sending Guide

The document discusses how to send emails from Java applications using JavaMail API and Java Activation Framework. It provides code examples to send simple text emails, HTML emails, and emails with attachments. It also covers sending emails to multiple recipients and authenticating with username and password.

Uploaded by

Malu Sakthi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
114 views4 pages

Java Email Sending Guide

The document discusses how to send emails from Java applications using JavaMail API and Java Activation Framework. It provides code examples to send simple text emails, HTML emails, and emails with attachments. It also covers sending emails to multiple recipients and authenticating with username and password.

Uploaded by

Malu Sakthi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

JAVA - SENDING EMAIL

[Link] rialspo [Link] m/java/java_se nding _e [Link] Co pyrig ht © tuto rials po [Link] m

T o send an e-mail using your Java Application is simple enoug h but to start with you should have J avaMail API
and J ava Ac tivation Framework (J AF) installed on your machine.

You can download latest version of JavaMail (Version 1.2) from Java's standard website.

You can download latest version of JAF (Version 1.1.1) from Java's standard website.

Download and unzip these files, in the newly created top level directories you will find a number of jar files for
both the applications. You need to add [Link] and ac [Link] files in your CLASSPAT H.

Send a Simple E-mail:


Here is an example to send a simple e-mail from your machine. Here it is assumed that your loc alhost is
connected to the internet and capable enoug h to send an email.

// File Name [Link]

import [Link].*;
import [Link].*;
import [Link].*;
import [Link].*;

public class SendEmail


{
public static void main(String [] args)
{
// Recipient's email ID needs to be mentioned.
String to = "abcd@[Link]";

// Sender's email ID needs to be mentioned


String from = "web@[Link]";

// Assuming you are sending email from localhost


String host = "localhost";

// Get system properties


Properties properties = [Link]();

// Setup mail server


[Link]("[Link]", host);

// Get the default Session object.


Session session = [Link](properties);

try{
// Create a default MimeMessage object.
MimeMessage message = new MimeMessage(session);

// Set From: header field of the header.


[Link](new InternetAddress(from));

// Set To: header field of the header.


[Link]([Link],
new InternetAddress(to));

// Set Subject: header field


[Link]("This is the Subject Line!");

// Now set the actual message


[Link]("This is actual message");

// Send message
[Link](message);
[Link]("Sent message successfully....");
}catch (MessagingException mex) {
[Link]();
}
}
}

Compile and run this prog ram to send a simple e-mail:

$ java SendEmail
Sent message successfully....

If you want to send an e-mail to multiple recipients then following methods would be used to specify multiple e-
mail IDs:

void addRecipients([Link] type,


Address[] addresses)
throws MessagingException

Here is the description of the parameters:

type: T his would be set to T O, CC or BCC. Here CC represents Carbon Copy and BCC represents
Black Carbon Copy. Example [Link]

addresses: T his is the array of email ID. You would need to use InternetAddress() method while
specifying email IDs

Send an HTML E-mail:


Here is an example to send an HT ML email from your machine. Here it is assumed that your loc alhost is
connected to the internet and capable enoug h to send an email.

T his example is very similar to previous one, except here we are using setContent() method to set content
whose second arg ument is "text/html" to specify that the HT ML content is included in the messag e.

Using this example, you can send as big as HT ML content you like.

// File Name [Link]

import [Link].*;
import [Link].*;
import [Link].*;
import [Link].*;

public class SendHTMLEmail


{
public static void main(String [] args)
{

// Recipient's email ID needs to be mentioned.


String to = "abcd@[Link]";

// Sender's email ID needs to be mentioned


String from = "web@[Link]";

// Assuming you are sending email from localhost


String host = "localhost";

// Get system properties


Properties properties = [Link]();

// Setup mail server


[Link]("[Link]", host);

// Get the default Session object.


Session session = [Link](properties);

try{
// Create a default MimeMessage object.
MimeMessage message = new MimeMessage(session);
// Set From: header field of the header.
[Link](new InternetAddress(from));

// Set To: header field of the header.


[Link]([Link],
new InternetAddress(to));

// Set Subject: header field


[Link]("This is the Subject Line!");

// Send the actual HTML message, as big as you like


[Link]("<h1>This is actual message</h1>",
"text/html" );

// Send message
[Link](message);
[Link]("Sent message successfully....");
}catch (MessagingException mex) {
[Link]();
}
}
}

Compile and run this prog ram to send an HT ML e-mail:

$ java SendHTMLEmail
Sent message successfully....

Send Attachment in E-mail:


Here is an example to send an email with attachment from your machine. Here it is assumed that your loc alhost
is connected to the internet and capable enoug h to send an email.

// File Name [Link]

import [Link].*;
import [Link].*;
import [Link].*;
import [Link].*;

public class SendFileEmail


{
public static void main(String [] args)
{

// Recipient's email ID needs to be mentioned.


String to = "abcd@[Link]";

// Sender's email ID needs to be mentioned


String from = "web@[Link]";

// Assuming you are sending email from localhost


String host = "localhost";

// Get system properties


Properties properties = [Link]();

// Setup mail server


[Link]("[Link]", host);

// Get the default Session object.


Session session = [Link](properties);

try{
// Create a default MimeMessage object.
MimeMessage message = new MimeMessage(session);

// Set From: header field of the header.


[Link](new InternetAddress(from));
// Set To: header field of the header.
[Link]([Link],
new InternetAddress(to));

// Set Subject: header field


[Link]("This is the Subject Line!");

// Create the message part


BodyPart messageBodyPart = new MimeBodyPart();

// Fill the message


[Link]("This is message body");

// Create a multipar message


Multipart multipart = new MimeMultipart();

// Set text message part


[Link](messageBodyPart);

// Part two is attachment


messageBodyPart = new MimeBodyPart();
String filename = "[Link]";
DataSource source = new FileDataSource(filename);
[Link](new DataHandler(source));
[Link](filename);
[Link](messageBodyPart);

// Send the complete message parts


[Link](multipart );

// Send message
[Link](message);
[Link]("Sent message successfully....");
}catch (MessagingException mex) {
[Link]();
}
}
}

Compile and run this prog ram to send an HT ML e-mail:

$ java SendFileEmail
Sent message successfully....

User Authentication Part:


If it is required to provide user ID and Password to the e-mail server for authentication purpose then you can set
these properties as follows:

[Link]("[Link]", "myuser");
[Link]("[Link]", "mypwd");

Rest of the e-mail sending mechanism would remain as explained above.

You might also like