Utilizando a API Commons Mail

Esse artigo é útil para apresentar mais uma opção de envio de email, diferente da tradicional API Java Mail. Então será feito um prático exemplo de envio de email com API Commons Mail.

Será apresentada mais uma forma de envio de email. A seguir será definido todas as etapas para envio de email com a API Commons Mail

Primeira Parte  - Download API Commons Mail

Realize o download de todos os arquivos .jar e coloque-os em uma pasta relacionada ao seu projeto.

- activation: activation.jar (http://java.sun.com/products/archive/javabeans/jaf102.html)
- commons-email-1.1: commons-email-1.1.jar (http://commons.apache.org/downloads/download_email.cgi)
- javaMail: mail.jar (http://java.sun.com/products/javamail/downloads/index.html)

Segunda Parte 2 - Adicionando no classpath

- No caso do eclipse, apenas adicionamos os jars no Path do projeto, caso quem não usar o eclipse procure uma forma de setar o classpath, pois o artigo é aplicavel a todos os tipos de ferramenta.
- Dê um clique com o botão direito e vá na opção Build Path e depois em Configute Build Path.
Vai abrir uma janela e nela vá na aba Libraries e depois selecione o botao Add External JARs
- Passe o caminho onde se encontram os jars citadops anteriormente e adicione um por um. Passando essa etapa a API Commons Mail está adicionada ao Path e pronta para uso em sua aplicação.


Terceira Parte 3 - Enviando uma mensagem


Abaixo segue um exemplo de código voltado para enviar email do gmail, mas obviamente mandaria email de outros servidores, para isso precisaríamos dos valores HostName.


import org.apache.commons.mail.EmailException;  
import org.apache.commons.mail.SimpleEmail;  

public class ExecutavelCommons {  
    
  public static void main(String[] args) {  

      SimpleEmail email = new SimpleEmail();  

      try {  
      email.setDebug(true);  
      email.setHostName("smtp.gmail.com");  
      email.setAuthentication("nome_de_usuario","senha");  
      email.setSSL(true);  
      email.addTo("destinatario_email"); //pode ser qualquer email  
      email.setFrom("email_gmail"); //será passado o email que você fará a autenticação
      email.setSubject("Enviando email");  
      email.setMsg("Teste de envio de email");  
      email.send();  

      } catch (EmailException e) {  

      System.out.println(e.getMessage());  

      }   

  }  

}


Envio de email com anexo

Para o envio de email com anexo você vai precisar passar o caminho do seu arquivo.


import java.io.File;  
import org.apache.commons.mail.EmailAttachment;  
import org.apache.commons.mail.EmailException;  
import org.apache.commons.mail.MultiPartEmail;  

public class ExecutavelCommonsFile {  

  /**
    * @param args
    */  
  public static void main(String[] args) {  

        // Create the attachment  
          
                // Caminho do arquivo a ser enviado  
        File f = new File("C:\testando.txt");   
                  
        EmailAttachment attachment = new EmailAttachment();  
        attachment.setPath(f.getPath()); // Obtem o caminho do arquivo  
        attachment.setDisposition(EmailAttachment.ATTACHMENT);  
        attachment.setDescription("Anexo");  
        attachment.setName(f.getName()); // Obtem o nome do arquivo  

        try {  
          // Create the email message  
          MultiPartEmail email = new MultiPartEmail();  
          email.setDebug(true);  
          email.setHostName("smtp.gmail.com");  
          email.setAuthentication("usuario_login","senha");  
          email.setSSL(true);  
          email.addTo("destinatario_email"); //pode ser qualquer email  
          email.setFrom("email_gmail"); //será passado o email que você fará a autenticação
          email.setSubject("Teste anexo");  
          email.setMsg("Teste anexo");  

          // add the attachment  
          email.attach(attachment);  

          // send the email  
          email.send();  
      } catch (EmailException e) {  
          e.printStackTrace();  
      }  
  }  

}

Então como podemos ver é mais uma API Java de fácil usabilidade e manutenção e que para quem não conhecia será mais uma opção de envio de email.

Artigos relacionados