I am trying to access emails from Gmail accounts through IMAP with the help of the JavaMail API. I was wondering why the code works for one email account but doesn\'t work f
You can try the following code:
private List getResult1(){
try {
Properties props = new Properties();
props.put("mail.store.protocol","imaps");
Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore("imaps");
store.connect("imap.gmail.com", "Email Id", "App Password");
//if you want mail from specified folder, just change change folder name
//Folder inbox = store.getFolder("[Gmail]/Drafts");
Folder inbox = store.getFolder("inbox");
inbox.open(Folder.READ_ONLY);
int messageCount = inbox.getMessageCount();
Log.e("getFolder ", "getResult1: " + store.getDefaultFolder().list("*"));
javax.mail.Folder[] folders = store.getDefaultFolder().list("*");
for (javax.mail.Folder folder : folders) {
if ((folder.getType() & javax.mail.Folder.HOLDS_MESSAGES) != 0){
Log.e("getFolder ", "getResult1: " + folder.getName() );
}
}
Log.e("Mail Subject:", "Total Messages:-: " + messageCount );
javax.mail.Message[] messages = inbox.getMessages();
System.out.println("------------------------------");
Log.e("Mail Subject:", "messages: " + messages.toString());
for (int i = 0; i < messages.length; i++) {
Log.e("Mail Subject:", "getResult1: " + messages[i].getSubject());
}
inbox.close(true);
store.close();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}