Advertisement
Guest User

Untitled

a guest
Jun 13th, 2015
298
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.82 KB | None | 0 0
  1. package pe.xxx.processor.util;
  2.  
  3. import java.util.List;
  4. import java.util.Properties;
  5.  
  6. import javax.mail.Address;
  7. import javax.mail.Message;
  8. import javax.mail.MessagingException;
  9. import javax.mail.PasswordAuthentication;
  10. import javax.mail.Session;
  11. import javax.mail.Transport;
  12. import javax.mail.internet.InternetAddress;
  13. import javax.mail.internet.MimeMessage;
  14.  
  15. import pe.xxx.processor.util.Utilitario;
  16.  
  17. public class Correo {
  18.  
  19.  
  20. /**
  21. * Tipo de correo a través del cual
  22. * se determina el mensaje de notificación a
  23. * enviar.
  24. **/
  25. public enum Tipo {
  26. GENERACION,
  27. PREGENERACION
  28. }
  29.  
  30. /**
  31. * Método que envía un correo simple
  32. * @param listaMail
  33. * @param asunto
  34. * @param mensaje
  35. * @throws Exception
  36. */
  37. public static void enviar(List<String> listaMail, String asunto, String mensaje) throws Exception {
  38.  
  39. final String HOST_MAIL = Utilitario.getProperty("host_mail");
  40. final String PORT_MAIL = Utilitario.getProperty("port_mail");
  41. final String USER_MAIL = Utilitario.getProperty("user_mail");
  42. final String PWD_MAIL = Utilitario.getProperty("pwd_mail");
  43.  
  44. System.out.println("host mail : " + HOST_MAIL);
  45. System.out.println("port mail : " + PORT_MAIL);
  46. System.out.println("user mail : " + USER_MAIL);
  47. System.out.println("pwd mail : " + PWD_MAIL);
  48.  
  49. Properties props = new Properties();
  50. props.put("mail.smtp.auth", "true");
  51. props.put("mail.smtp.starttls.enable", "true");
  52. props.put("mail.smtp.port", "465");
  53. props.put("mail.smtp.host", "smtp.gmail.com");
  54. props.put("mail.smtp.user", "dnielfs@gmail.com");
  55. props.put("mail.smtp.pass", "xxx");
  56. props.put("mail.smtp.timeout", 1000);
  57. props.put("mail.smtp.socketFactory.port", "465");
  58. props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
  59. props.put("mail.smtp.socketFactory.fallback", "false");
  60.  
  61. Session session = Session.getInstance(props,
  62. new javax.mail.Authenticator() {
  63. protected PasswordAuthentication getPasswordAuthentication() {
  64. return new PasswordAuthentication("dnielfs@gmail.com", "xxx");
  65. }
  66. });
  67.  
  68. session.setDebug(true);
  69.  
  70. try{
  71. Message message = new MimeMessage(session);
  72. message.setFrom(new InternetAddress("dnielfs@gmail.com"));
  73.  
  74. Address[] recipients = new InternetAddress[listaMail.size()];
  75. for(int i=0; i < listaMail.size(); i++){
  76. recipients[i] = new InternetAddress(listaMail.get(i));
  77. }
  78.  
  79. message.setRecipients(Message.RecipientType.TO, recipients);
  80.  
  81. message.setSubject(asunto);
  82. message.setText(mensaje);
  83.  
  84. System.out.println("************ ENVIANDO CORREO ***************");
  85.  
  86. Transport transport = session.getTransport("smtps");
  87. transport.connect("smtp.gmail.com", 465, "dnielfs@gmail.com", "xxx");
  88. Transport.send(message);
  89. transport.close();
  90.  
  91. System.out.println("************ CORREO ENVIADO ***************");
  92.  
  93. }catch(Exception e){
  94.  
  95. System.out.println("************ ERROR EN ENVÍO DE CORREO ***************");
  96. e.printStackTrace();
  97.  
  98. }
  99.  
  100. }
  101.  
  102. /**
  103. * Notifica el término de una pregeneración o generación
  104. * de recibos con un formato específico de correo.
  105. *
  106. * @param listaMail
  107. * @param tipo
  108. * @param numeroPreGeneracion
  109. * @throws Exception
  110. */
  111. public static void notificar(List<String> listaMail, Tipo tipo, String numeroPreGeneracion) throws Exception{
  112.  
  113. switch(tipo){
  114. case GENERACION :
  115. Correo.enviar(
  116. listaMail,
  117. "XXX INTRANET - Generación " + numeroPreGeneracion + " de recibo concluída",
  118. "La orden " + numeroPreGeneracion + " de generación de recibos ha concluído satisfactoriamente."
  119. );
  120. break;
  121. case PREGENERACION :
  122. Correo.enviar(listaMail,
  123. "XXX INTRANET - PreGeneración " + numeroPreGeneracion + " de recibo concluída",
  124. "La orden " + numeroPreGeneracion + " de pregeneración de recibos ha concluído satisfactoriamente."
  125. );
  126.  
  127. }
  128. }
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement