quarta-feira, 4 de abril de 2012

Envio de Email em Java

Acabei de configurar um programa para envio de email e já estou adicionando no ferramental do blog para que não seja necessário sempre vasculhar a internet para fazer algo simples, segue a referencia do programa no GUJ:

http://www.guj.com.br/java/104931-erro-no-teste-do-programa-para-envio-de-emails


  1. import java.net.MalformedURLException;  
  2. import java.net.URL;  
  3.   
  4. import org.apache.commons.mail.EmailAttachment;  
  5. import org.apache.commons.mail.EmailException;  
  6. import org.apache.commons.mail.HtmlEmail;  
  7. import org.apache.commons.mail.MultiPartEmail;  
  8. import org.apache.commons.mail.SimpleEmail;  
  9.   
  10. public class CommonsMail {  
  11.       
  12.     public CommonsMail() throws EmailException, MalformedURLException {  
  13.         enviaEmailSimples();  
  14.         enviaEmailComAnexo();  
  15.         enviaEmailFormatoHtml();  
  16.     }  
  17.       
  18.     /** 
  19.      * envia email simples(somente texto) 
  20.      * @throws EmailException 
  21.      */  
  22.     public void enviaEmailSimples() throws EmailException {  
  23.           
  24.         SimpleEmail email = new SimpleEmail();  
  25.         email.setHostName("smtp.gmail.com"); // o servidor SMTP para envio do e-mail  
  26.         email.addTo("teste@gmail.com""Guilherme"); //destinatário  
  27.         email.setFrom("teste@gmail.com""Eu"); // remetente  
  28.         email.setSubject("Teste -> Email simples"); // assunto do e-mail  
  29.         email.setMsg("Teste de Email utilizando commons-email"); //conteudo do e-mail  
  30.         email.setAuthentication("teste""xxxxx");  
  31.         email.setSmtpPort(465);  
  32.         email.setSSL(true);  
  33.         email.setTLS(true);  
  34.         email.send();     
  35.     }  
  36.       
  37.       
  38.     /** 
  39.      * envia email com arquivo anexo 
  40.      * @throws EmailException 
  41.      */  
  42.     public void enviaEmailComAnexo() throws EmailException{  
  43.           
  44.         // cria o anexo 1.  
  45.         EmailAttachment anexo1 = new EmailAttachment();  
  46.         anexo1.setPath("teste/teste.txt"); //caminho do arquivo (RAIZ_PROJETO/teste/teste.txt)  
  47.         anexo1.setDisposition(EmailAttachment.ATTACHMENT);  
  48.         anexo1.setDescription("Exemplo de arquivo anexo");  
  49.         anexo1.setName("teste.txt");          
  50.           
  51.         // cria o anexo 2.  
  52.         EmailAttachment anexo2 = new EmailAttachment();  
  53.         anexo2.setPath("teste/teste2.jsp"); //caminho do arquivo (RAIZ_PROJETO/teste/teste2.jsp)  
  54.         anexo2.setDisposition(EmailAttachment.ATTACHMENT);  
  55.         anexo2.setDescription("Exemplo de arquivo anexo");  
  56.         anexo2.setName("teste2.jsp");         
  57.           
  58.         // configura o email  
  59.         MultiPartEmail email = new MultiPartEmail();  
  60.         email.setHostName("smtp.gmail.com"); // o servidor SMTP para envio do e-mail  
  61.         email.addTo("teste@gmail.com""Guilherme"); //destinatário  
  62.         email.setFrom("teste@gmail.com""Eu"); // remetente  
  63.         email.setSubject("Teste -> Email com anexos"); // assunto do e-mail  
  64.         email.setMsg("Teste de Email utilizando commons-email"); //conteudo do e-mail  
  65.         email.setAuthentication("teste""xxxxx");  
  66.         email.setSmtpPort(465);  
  67.         email.setSSL(true);  
  68.         email.setTLS(true);  
  69.           
  70.         // adiciona arquivo(s) anexo(s)  
  71.         email.attach(anexo1);  
  72.         email.attach(anexo2);  
  73.         // envia o email  
  74.         email.send();  
  75.     }  
  76.       
  77.       
  78.     /** 
  79.      * Envia email no formato HTML 
  80.      * @throws EmailException  
  81.      * @throws MalformedURLException  
  82.      */  
  83.     public void enviaEmailFormatoHtml() throws EmailException, MalformedURLException {  
  84.           
  85.         HtmlEmail email = new HtmlEmail();  
  86.           
  87.         // adiciona uma imagem ao corpo da mensagem e retorna seu id  
  88.         URL url = new URL("http://www.apache.org/images/asf_logo_wide.gif");  
  89.         String cid = email.embed(url, "Apache logo");     
  90.           
  91.         // configura a mensagem para o formato HTML  
  92.         email.setHtmlMsg("<html>Logo do Apache - <img ></html>");  
  93.   
  94.         // configure uma mensagem alternativa caso o servidor não suporte HTML  
  95.         email.setTextMsg("Seu servidor de e-mail não suporta mensagem HTML");  
  96.           
  97.         email.setHostName("smtp.gmail.com"); // o servidor SMTP para envio do e-mail  
  98.         email.addTo("teste@gmail.com""Guilherme"); //destinatário  
  99.         email.setFrom("teste@gmail.com""Eu"); // remetente  
  100.         email.setSubject("Teste -> Html Email"); // assunto do e-mail  
  101.         email.setMsg("Teste de Email HTML utilizando commons-email"); //conteudo do e-mail  
  102.         email.setAuthentication("teste""xxxxx");  
  103.         email.setSmtpPort(465);  
  104.         email.setSSL(true);  
  105.         email.setTLS(true);  
  106.         // envia email  
  107.         email.send();  
  108.     }  
  109.       
  110.       
  111.     /** 
  112.      * @param args 
  113.      * @throws EmailException  
  114.      * @throws MalformedURLException  
  115.      */  
  116.     public static void main(String[] args) throws EmailException, MalformedURLException {  
  117.         new CommonsMail();  
  118.     }  
  119.   
  120. }  


API`s para download
http://commons.apache.org/email/download_email.cgi

http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-eeplat-419426.html#javamail-1.4.5-oth-JPR

2 comentários: