Advertisement
Guest User

Untitled

a guest
Sep 18th, 2017
601
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.95 KB | None | 0 0
  1. import java.util.Properties;
  2. import javax.mail.Authenticator;
  3. import javax.mail.PasswordAuthentication;
  4. import javax.mail.Session;
  5.  
  6. public class TSLEmail
  7. {
  8. public static void main(String[] args)
  9. {
  10. final String fromEmail = "mail@gmail.com"; //requires valid
  11. gmail id
  12. final String password = "mypass12"; // correct password for gmail id
  13. final String toEmail = "recipients@gmail.com"; // can be any email id
  14.  
  15. System.out.println("TLSEmail Start");
  16. Properties props = new Properties();
  17. props.put("mail.smtp.host", "10.20.200.220"); //SMTP Host
  18. props.put("mail.user", "user12");
  19. //props.put("mail.password", password);
  20. props.put("mail.smtp.port", "587"); //TLS Port
  21. props.put("mail.smtp.auth", "true"); //enable authentication
  22. props.put("mail.smtp.starttls.enable", "true"); //enable STARTTLS
  23.  
  24. //create Authenticator object to pass in Session.getInstance argument
  25. Authenticator auth = new Authenticator() {
  26. //override the getPasswordAuthentication method
  27. protected PasswordAuthentication
  28. getPasswordAuthentication() {
  29. return new
  30. PasswordAuthentication(fromEmail, password);
  31. }
  32. };
  33. Session session = Session.getInstance(props, auth);
  34.  
  35. EmailUtil.sendEmail(session, toEmail,"TLSEmail Testing Subject",
  36. "TLSEmail Testing Body");
  37.  
  38. }
  39. }
  40.  
  41. import java.util.Date;
  42. import javax.mail.Message;
  43. import javax.mail.Session;
  44. import javax.mail.Transport;
  45. import javax.mail.internet.InternetAddress;
  46. import javax.mail.internet.MimeMessage;
  47.  
  48. public class EmailUtil
  49. {
  50. public static void sendEmail(Session session, String toEmail, String
  51. subject, String body)
  52. {
  53. try
  54. {
  55. MimeMessage msg = new MimeMessage(session);
  56. //set message headers
  57. msg.addHeader("Content-type", "text/HTML; charset=UTF-8");
  58. msg.addHeader("format", "flowed");
  59. msg.addHeader("Content-Transfer-Encoding", "8bit");
  60.  
  61. msg.setFrom(new InternetAddress("mail@gmail.com"));
  62.  
  63. msg.setReplyTo(InternetAddress.parse("recipients@gmail.com"));
  64.  
  65. msg.setSubject(subject, "UTF-8");
  66.  
  67. msg.setText(body, "UTF-8");
  68.  
  69. msg.setSentDate(new Date());
  70.  
  71. msg.setRecipients(Message.RecipientType.TO,
  72. InternetAddress.parse(toEmail, false));
  73.  
  74. System.out.println("Message is ready");
  75. Transport.send(msg);
  76.  
  77. System.out.println("EMail Sent Successfully!!");
  78. }
  79. catch (Exception e) {
  80. e.printStackTrace();
  81. }
  82. }
  83. }
  84.  
  85. TLSEmail Start
  86. Message is ready
  87. javax.mail.MessagingException: Can't send command to SMTP host;
  88. nested exception is:
  89. javax.net.ssl.SSLHandshakeException:
  90. sun.security.validator.ValidatorException: PKIX path building failed:
  91. sun.security.provider.certpath.SunCertPathBuilderException: unable to
  92. find valid certification path to requested target
  93. at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1564)
  94. at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1551)
  95. at com.sun.mail.smtp.SMTPTransport.ehlo(SMTPTransport.java:935)
  96. at
  97. com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:426)
  98. at javax.mail.Service.connect(Service.java:310)
  99. at javax.mail.Service.connect(Service.java:169)
  100. at javax.mail.Service.connect(Service.java:118)
  101. at javax.mail.Transport.send0(Transport.java:188)
  102. at javax.mail.Transport.send(Transport.java:118)
  103. at com.bca.controller.EmailUtil.sendEmail(EmailUtil.java:35)
  104. at com.bca.controller.TSLEmail.main(TSLEmail.java:34)
  105. Caused by: javax.net.ssl.SSLHandshakeException:
  106. sun.security.validator.ValidatorException: PKIX path building failed:
  107. sun.security.provider.certpath.SunCertPathBuilderException: unable to find
  108. valid certification path to requested target
  109. at sun.security.ssl.Alerts.getSSLException(Unknown Source)
  110. at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source)
  111. at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
  112. at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
  113. at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source)
  114. at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)
  115. at sun.security.ssl.Handshaker.processLoop(Unknown Source)
  116. at sun.security.ssl.Handshaker.process_record(Unknown Source)
  117. at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
  118. at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown
  119. Source)
  120. at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source)
  121. at sun.security.ssl.AppOutputStream.write(Unknown Source)
  122. at com.sun.mail.util.TraceOutputStream.write(TraceOutputStream.java:114)
  123. at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
  124. at java.io.BufferedOutputStream.flush(Unknown Source)
  125. at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1562)
  126. ... 10 more
  127. Caused by: sun.security.validator.ValidatorException: PKIX path building
  128. failed: sun.security.provider.certpath.SunCertPathBuilderException: unable
  129. to find valid certification path to requested target
  130. at sun.security.validator.PKIXValidator.doBuild(Unknown Source)
  131. at sun.security.validator.PKIXValidator.engineValidate(Unknown Source)
  132. at sun.security.validator.Validator.validate(Unknown Source)
  133. at sun.security.ssl.X509TrustManagerImpl.validate(Unknown Source)
  134. at sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source)
  135. at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown
  136. Source)
  137. ... 22 more
  138. Caused by: sun.security.provider.certpath.SunCertPathBuilderException:
  139. unable to find valid certification path to requested target
  140. at sun.security.provider.certpath.SunCertPathBuilder.build(Unknown
  141. Source)
  142. at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown
  143. Source)
  144. at java.security.cert.CertPathBuilder.build(Unknown Source)
  145. ... 28 more
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement