Advertisement
Guest User

Untitled

a guest
Apr 13th, 2017
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.61 KB | None | 0 0
  1. public class ReadEmailStep {
  2.  
  3. public static void main(String[] args) {
  4.  
  5. // for smtp
  6. // String host = "smtp.gmail.com";// change accordingly
  7. // String mailStoreType = "imaps";
  8.  
  9. // for pop3
  10. String host = "pop.gmail.com";
  11. String mailStoreType = "pop3s";
  12.  
  13. String username = "<email_address>";// change accordingly
  14. String password = "<password>";// change accordingly
  15. String folder = "INBOX";
  16. readMessages(host, mailStoreType, username, password, folder);
  17.  
  18. }
  19.  
  20. private static void addPop3Props(Properties properties, String host, String port) {
  21. properties.setProperty("mail.pop3.host", host);
  22. properties.setProperty("mail.pop3.port", port);
  23. properties.setProperty("mail.pop3.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
  24. properties.setProperty("mail.pop3.socketFactory.port", port);
  25. properties.setProperty("mail.pop3.starttls.enable", "true");
  26. properties.setProperty("mail.pop3.socketFactory.fallback", "false");
  27. properties.setProperty("mail.pop3.rsetbeforequit", "true");
  28. }
  29.  
  30. private static void addSmtpProps(Properties properties, String host, String port) {
  31. properties.setProperty("mail.smtp.host", host);
  32. properties.setProperty("mail.smtp.socketFactory.port", port);
  33. properties.setProperty("mail.smtp.port", port);
  34. properties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
  35. properties.setProperty("mail.smtp.auth", "true");
  36. }
  37.  
  38. public static void readMessages(String host, String storeType, String user, String password, String folder) {
  39. try {
  40.  
  41. // create properties field
  42. Properties properties = new Properties();
  43.  
  44. if (storeType.equals("pop3s")) {
  45. addPop3Props(properties, host, "995");
  46. } else if (storeType.equals("imaps")){
  47. addSmtpProps(properties, host, "465");
  48. } else {
  49. throw new Exception("unknown storeType: " + storeType);
  50. }
  51.  
  52. URLName url = new URLName(storeType, host, 995, "", user, password);
  53. Session session = Session.getInstance(properties, null);
  54. Store store = new POP3SSLStore(session, url);
  55. store.connect();
  56.  
  57. //Session emailSession = Session.getDefaultInstance(properties, null);
  58. //Store store = emailSession.getStore(storeType);
  59.  
  60. store.connect(host, user, password);
  61.  
  62. // create the folder object and open it
  63. Folder emailFolder = store.getFolder(folder);
  64. emailFolder.open(Folder.READ_ONLY);
  65.  
  66. // retrieve the messages from the folder in an array and print it
  67. Message[] messages = emailFolder.getMessages();
  68. System.out.println("messages.length---" + messages.length);
  69.  
  70. // do something with messages
  71.  
  72. // close the store and folder objects
  73. emailFolder.close(false);
  74. store.close();
  75.  
  76. } catch (Exception e) {
  77. e.printStackTrace();
  78. }
  79. }
  80. }
  81.  
  82. javax.mail.MessagingException: Connect failed;
  83. nested exception is:
  84. java.net.ConnectException: Connection refused: connect
  85. at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:120)
  86. at javax.mail.Service.connect(Service.java:233)
  87. at javax.mail.Service.connect(Service.java:134)
  88. at javax.mail.Service.connect(Service.java:86)
  89. at com.smartstream.control.engine.custom.ReadEmailStep.readMessages(ReadEmailStep.java:71)
  90. at com.smartstream.control.engine.custom.ReadEmailStep.main(ReadEmailStep.java:32)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement