Advertisement
Guest User

Untitled

a guest
Oct 17th, 2017
381
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.29 KB | None | 0 0
  1. package me.jimhunter.tela.teste;
  2.  
  3. import java.util.Properties;
  4. import javax.mail.Message;
  5. import javax.mail.Session;
  6. import javax.mail.Transport;
  7. import javax.mail.internet.InternetAddress;
  8. import javax.mail.internet.MimeMessage;
  9. import javax.mail.Authenticator;
  10. import javax.mail.PasswordAuthentication;
  11.  
  12. public class SendEmail {
  13. private String mailSMTPServer;
  14. private String mailSMTPServerPort;
  15.  
  16. /*
  17. * quando instanciar um Objeto ja sera atribuido o servidor SMTP do GMAIL e
  18. * a porta usada por ele
  19. */
  20. public SendEmail() { // Para o GMAIL
  21. mailSMTPServer = "smtp.gmail.com";
  22. mailSMTPServerPort = "465";
  23. }
  24.  
  25. /*
  26. * caso queira mudar o servidor e a porta, so enviar para o contrutor os
  27. * valor como string
  28. */
  29. public SendEmail(String mailSMTPServer, String mailSMTPServerPort) { // Para
  30. // outro
  31. // Servidor
  32. this.mailSMTPServer = mailSMTPServer;
  33. this.mailSMTPServerPort = mailSMTPServerPort;
  34. }
  35.  
  36. public void sendMail(String from, String to, String subject, String message) {
  37. Properties props = new Properties();
  38. // quem estiver utilizando um SERVIDOR PROXY descomente essa parte e
  39. // atribua as propriedades do SERVIDOR PROXY utilizado
  40. /*
  41. * props.setProperty("proxySet","true");
  42. * props.setProperty("socksProxyHost","192.168.155.1"); // IP do
  43. * Servidor Proxy props.setProperty("socksProxyPort","1080"); // Porta
  44. * do servidor Proxy
  45. */
  46. props.put("mail.transport.protocol", "smtp"); // define protocolo de
  47. // envio como SMTP
  48. props.put("mail.smtp.starttls.enable", "true");
  49. props.put("mail.smtp.host", mailSMTPServer); // server SMTP do GMAIL
  50. props.put("mail.smtp.auth", "true"); // ativa autenticacao
  51. props.put("mail.smtp.user", from); // usuario ou seja, a conta que esta
  52. // enviando o email (tem que ser do
  53. // GMAIL)
  54. props.put("mail.debug", "true");
  55. props.put("mail.smtp.port", mailSMTPServerPort); // porta
  56. props.put("mail.smtp.socketFactory.port", mailSMTPServerPort); // mesma
  57. // porta
  58. // para
  59. // o
  60. // socket
  61. props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
  62. props.put("mail.smtp.socketFactory.fallback", "false");
  63. // Cria um autenticador que sera usado a seguir
  64. SimpleAuth auth = null;
  65. auth = new SimpleAuth("SEU-EMAIL", "SENHA");
  66. // Session - objeto que ira realizar a conexão com o servidor
  67. /*
  68. * Como há necessidade de autenticação é criada uma autenticacao que é
  69. * responsavel por solicitar e retornar o usuário e senha para
  70. * autenticação
  71. */
  72. Session session = Session.getDefaultInstance(props, auth);
  73. session.setDebug(true); // Habilita o LOG das ações executadas durante o
  74. // envio do email
  75. // Objeto que contém a mensagem
  76. Message msg = new MimeMessage(session);
  77. try {
  78. // Setando o destinatário
  79. msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
  80. // Setando a origem do email
  81. msg.setFrom(new InternetAddress(from));
  82. // Setando o assunto
  83. msg.setSubject(subject);
  84. // Setando o conteúdo/corpo do email
  85. msg.setContent(message, "text/plain");
  86. } catch (Exception e) {
  87. System.out.println(">> Erro: Completar Mensagem");
  88. e.printStackTrace();
  89. }
  90. // Objeto encarregado de enviar os dados para o email
  91. Transport tr;
  92. try {
  93. tr = session.getTransport("smtp"); // define smtp para transporte
  94. /*
  95. * 1 - define o servidor smtp 2 - seu nome de usuario do gmail 3 -
  96. * sua senha do gmail
  97. */
  98. tr.connect(mailSMTPServer, "SEU-EMAIL", "SENHA");
  99. msg.saveChanges(); // don't forget this
  100. // envio da mensagem
  101. tr.sendMessage(msg, msg.getAllRecipients());
  102. tr.close();
  103. } catch (Exception e) {
  104. // TODO Auto-generated catch block
  105. System.out.println(">> Erro: Envio Mensagem");
  106. e.printStackTrace();
  107. }
  108. }
  109. }
  110.  
  111. // clase que retorna uma autenticacao para ser enviada e verificada pelo
  112. // servidor smtp
  113. class SimpleAuth extends Authenticator {
  114. public String username = null;
  115. public String password = null;
  116.  
  117. public SimpleAuth(String user, String pwd) {
  118. username = user;
  119. password = pwd;
  120. }
  121.  
  122. protected PasswordAuthentication getPasswordAuthentication() {
  123. return new PasswordAuthentication(username, password);
  124. }
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement