title: How to write java program to read new emails from any emailid
body: <p>Hi I want to write a java program where I will provide my email id and password. and I want to read all new unread messages that arrived to that email id. I donot know how to write program for that.</p>
  
  <p>The below program works fine for gmail. but it does not work for yahoomail because for yahoo pop3 is not configured. I want a generic code which will work for all email id. </p>
  
  <pre><code>import java.io.*;
  import java.util.*;
  import javax.mail.*;
  
  public class ReadMail {
  
      public static void main(String args[]) throws Exception {
  
  
  
  //        String host = "pop.gmail.com";
  //        String user = "xyz";
  //        String password = "12345";
  
          // Get system properties
         Properties properties = System.getProperties();
  
          // Get the default Session object.
          Session session = Session.getDefaultInstance(properties, null);
  
          // Get a Store object that implements the specified protocol.
          Store store = session.getStore("pop3s");
  
          //Connect to the current host using the specified username and password.
          store.connect(host, user, password);
  
          //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 &lt; 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.print("Message : ");
  
              InputStream stream = message[i].getInputStream();
              while (stream.available() != 0) {
                  System.out.print((char) stream.read());
              }
              System.out.println();
          }
  
          folder.close(true);
          store.close();
      }
  }
  </code></pre>