Cómo obtener correos de gmail programáticamente en Android

Quiero tener todos los correos de la bandeja de entrada de diferentes servicios de correo como gmail, hotmail, rediffmail, etc. en mi aplicación. Inicialmente traté de obtener correos de Gmail usando Imap. Pero estoy recibiendo una excepción de socket. Aquí está el código que probé. Por favor, ayúdame.

public void getMails(View V){
Properties props = System.getProperties();
props.setProperty("mail.store.protocol", "imaps");
props.setProperty("mail.imap.port", "993");

props.setProperty("mail.imap.socketFactory.class", .ssl.SSLSocketFactory");
props.setProperty("mail.imap.socketFactory.fallback", "false");
    try {
      Session session = Session.getDefaultInstance(props, null);
      Store store = session.getStore("imaps");
      store.connect("imap.gmail.com", "[email protected]", "pswd");
    }
  //}catch (NoSuchProviderException e) {
  //   e.printStackTrace();
  //   System.exit(1);
  //} 
    catch (MessagingException e) {
        e.printStackTrace();
        System.exit(2);
    }
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta