import java.util.*; import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; import java.io.*; public class ReadMailAttachment{ public static void receiveEmail(String pop3Host, String storeType, final String user, final String password) { try { //1) get the session object Properties properties = new Properties(); properties.put("mail.store.protocol", "imaps"); //Session emailSession = Session.getDefaultInstance(properties); Session emailSession = Session.getDefaultInstance(properties, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(user,password); } }); //2) create the POP3 store object and connect with the pop server Store emailStore = emailSession.getStore("imaps"); emailStore.connect("imap.gmail.com","dineshonjava@gmail.com", password); //3) create the folder object and open it Folder emailFolder = emailStore.getFolder("INBOX"); emailFolder.open(Folder.READ_WRITE); // folder.open(Folder.READ_WRITE); //4) retrieve the messages from the folder in an array and print it Message[] messages = emailFolder.getMessages(); for (int i = 0; i < messages.length; i++) { Message message = messages[i]; System.out.println("---------------------------------"); System.out.println("Email Number " + (i + 1)); System.out.println("Subject: " + message.getSubject()); System.out.println("From: " + message.getFrom()[0]); System.out.println("Text: " + message.getContent().toString()); System.out.println("Sent Date: " +message.getSentDate()); Multipart multipart = (Multipart) message.getContent(); for (int j = 0; j < multipart.getCount(); j++) { BodyPart bodyPart = multipart.getBodyPart(j); InputStream stream = bodyPart.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(stream)); while (br.ready()) { System.out.println(br.readLine()); } System.out.println(); } } //5) close the store and folder objects emailFolder.close(false); emailStore.close(); } catch (NoSuchProviderException e) {e.printStackTrace();} catch (MessagingException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} } public static void main(String[] args) { String host = "smtp.gmail.com";//change accordingly String mailStoreType = "pop3"; final String username= "dineshonjava@gmail.com"; final String password= "******";//change accordingly receiveEmail(host, mailStoreType, username, password); } }
Labels: JavaMail