Core Java| JSP| Servlets| XML| EJB| JEE5| Web Services| J2ME| Glossary| Questions? | Software Development
 

Technical description of Java Mail API

This section introduces you with the core concepts of Java Mail API

Technical description of Java Mail API

                         

This section introduces you with the core concepts of Java Mail API. You must understand the Java Mail API before actually delving into the development of mail processing applications.

Core classes that makeup the Java Mail API
Lets understand the core Java Mail API classes.

Session

Session is the top-level entry class representing mail session. It uses java.util.Properties object to get information about mail server, username, password etc. This class has a private constructor and you can get session objects through getInstance() and getDefaultInstance() methods. getDefaultInstance() method provides default Session object which takes Properties and Authenticator objects as arguments.

Properties props = new Properties();
// code to fill props with any information
Session session = Session.getDefaultInstance(props, null);

Or create a unique session by getInstance() method…
Properties props = new Properties();
// code to fill props with any information
Session session = Session.getInstance(props, null);

Message

After creating session object, create message to send by using Message class. Because of message class is abstract class so we will use subclass javax.mail.internet.MimeMessage.

MimeMessage message = new MimeMessage(session)
// set the content of message by setContent() method
message.setContent(“www.roseindia.net”, “text/plain”);

We can also use setText() method to set the content.

Message.setText(“www.roseindia.net”);

To create subject line of sending message use setSubject() method.

Message.setSubject(“Its Urgent Message”);

Address

Now we will define address, Address class is also an abstract class so we will use here class javax.mail.internet.InternetAddress.

Address address = new InternetAddress("mahendra.singh@roseindia.net");

To display a name next to the Email Address use one more argument for name.

Address address = new InternetAddress(“mahendra@roseindia.net”, ”Mahendra”);

After creating address connect with message by two ways:


1: By setFrom()method: message.setFrom(address);
1: By setReplyTo()method: When want to send reply to more addresses.

Address address[] = ...;
Message.setReplyTo(address[]);

To identify the recipient, add the recipients by using addRecipient() method….

message.addRecipient(type, address);

Address types are of three types:
* Message.RecipientType.TO: primary recipient
* Message.RecipientType.CC: carbon copy
* Message.RecipientType.BCC: blind carbon copy

To know more about address type see class Message.RecipientType.

Authenticator

The JavaMail Authenticator is found in the javax.mail package, and used as an authenticator to access protected resources by prompting the user for username and password.

Properties props = new Properties();
// fill props with any information
Authenticator auth = new MyAuthenticator();
Session session = Session.getDefaultInstance(props, auth);

Transpor

This is final part of sending Email, it is an abstract class. Default version of this class can be used by calling static send() method.

Transport.send(message);

Or can create a specific instance from the session for defined protocol….

message.saveChanges(); // implicit with send()
Transport transport = session.getTransport("smtp");
transport.connect(host, username, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();

Store and folder

After getting the session you connect to javax.mail.Store class with Authenticator or host, port, user and password information. Store object that implements the specified protocol can be created by by passing the protocol information to the getStore() method of the session object.

// create object of store class.
Store store = session.getStore("pop3");
store.connect(host, username, password);

After connecting to store you need to get a folder that holds messages. For POP3, the only folder available is the INBOX but with IMAP, you can have other folders available. For this you can use javax.mail.Folder class….

Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
Message message[] = folder.getMessages();

Once you have read messages, you need to close Store and Folder…

folder.close(booleanValue);
store.close();

                         

» View all related tutorials
Related Tags: java c api class mail method ip new read using this message ai config show if ie example add javamail

Leave your comment:

Name:

Email:

URL:

Title:

Comments:


Enter Code:

Audio Version
Reload Image
 

Note: Emails will not be visible or used in any way, and are not required. Please keep comments relevant. Any content deemed inappropriate or offensive may be edited and/or deleted.

No HTML code is allowed. Line breaks will be converted automatically. URLs will be auto-linked. Please use BBCode to format your text.

Add This Tutorial To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
 
Tell A Friend
Your Friend Name

 

 
Recently Viewed
Software Solutions
Search Tutorials

 

 
 

Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Search Engine | News Archive | Jboss 3.0 tutorial | Free Linux CD's | Forum | Blogs

About Us | Advertising On RoseIndia.net  | Site Map

India News

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright © 2008. All rights reserved.