Home Javamail Java Mail Mail Authenticator Example
Questions:Ask|Latest

 
 

Share on Google+Share on Google+

Java Mail Mail Authenticator Example

Advertisement
This Example shows you how to use Authenticator using javamail api. Authenticator class object that knows how to obtain authentication for a network connection.

Java Mail Mail Authenticator Example

     

This Example shows you how to use Authenticator using javamail api. Authenticator class object that knows how to obtain authentication for a network connection. getPasswordAuthentication method return PasswordAuthentication class object. The class PasswordAuthentication is information about username and password.

In the code given below we have extended Authenticator class that represents an object that knows how to authenticate network connection.

Method description that are used in this program...
getPasswordAuthentication() method is called when password authorization is needed.

MailAuthenticator.java

import java.util.*;
import javax.mail.*;

public class MailAuthenticator extends Authenticator {

  private String username,  password;

  MailAuthenticator(String username, String password) {
  this.username = username;
  this.password = password;
  }

  public void readMail() throws Exception {

  // Get system properties
  Properties properties = System.getProperties();

  // Get the default Session object.
  Session session = Session.getDefaultInstance(properties, this);
  URLName url = new URLName("pop3://test@192.168.10.205");

  // Get a Store object for the given URLName.
  Store store = session.getStore(url);
  store.connect();

  //Create a Folder object corresponding to the given name.
  Folder folder = store.getFolder("inbox");

  // Open the Folder.
  folder.open(Folder.READ_ONLY);

  Message[] message = folder.getMessages();

  // Display message.
  for (int i = 0; i < message.length; i++) {
  System.out.println("------------ Message " + (i + 1) + " ------------");
  System.out.println("SentDate : " + message[i].getSentDate());
  System.out.println("From : " + message[i].getFrom()[0]);
  System.out.println("Subject : " + message[i].getSubject());
  System.out.println("Content : " + message[i].getContent());
  }
  folder.close(true);
  store.close();
  }

  protected PasswordAuthentication getPasswordAuthentication() {
  return new PasswordAuthentication(username, password);
  }

  public static void main(String args[]) throws Exception {
  new MailAuthenticator("test", "test").readMail();
  }
} 

Output:

------------ Message 1 ------------
SentDate : Tue Jul 15 18:44:41 IST 2008
From : test@localhost
Subject : hi..!
Content : Hi ......

------------ Message 3 ------------
SentDate : Tue Jul 15 17:57:32 IST 2008
From : test
Subject : Resistance is futile.
Content : Resistance is futile. You will be assimilated!

------------ Message 3 ------------
SentDate : Mon Jul 14 21:10:35 IST 2008
From : test@localhost
Subject : hi..!
Content : Hi this is komal choudhary......

Download code

Advertisement

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: December 19, 2008

Related Tutorials

Ask Questions?    Discuss: Java Mail Mail Authenticator Example   View All Comments

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments
Chris
February 20, 2012
Why use system properties?

Hi, Can you please explain why you need to use System.getProperties as part of the Session.getDefaultInstance? As in the following snippet taken from the published code: // Get system properties Properties properties = System.getProperties(); Many thanks, Chris
DMCA.com