Erro ao mandar email com Commons

2 respostas
augustofleck

Olá, estou tentando mandar um email usando a biblioteca commons.

Mas está sempre estourando o erro descrito abaixo.

java.lang.NoSuchMethodError: javax.mail.internet.InternetAddress.validate()V

org.apache.commons.mail.Email.createInternetAddress(Email.java:601)

org.apache.commons.mail.Email.addTo(Email.java:727)

org.apache.commons.mail.Email.addTo(Email.java:710)

br.com.sol7.email.Sol7Mail.enviaEmailSimples(Sol7Mail.java:30)

br.com.sol7.email.Sol7Mail.<init>(Sol7Mail.java:15)

br.com.sol7.servlet.ServletSchedule.doGet(ServletSchedule.java:53)

javax.servlet.http.HttpServlet.service(HttpServlet.java:617)

javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

Alguem sabe o que posso fazer para resolver ??

Obrigado !!!

2 Respostas

brunnoromero

posta o código ae…

augustofleck
package br.com.sol7.email;

import java.net.MalformedURLException;  
import java.net.URL;  
  
import org.apache.commons.mail.EmailAttachment;  
import org.apache.commons.mail.EmailException;  
import org.apache.commons.mail.HtmlEmail;  
import org.apache.commons.mail.MultiPartEmail;  
import org.apache.commons.mail.SimpleEmail;

  
public class Sol7Mail {  
      
    public Sol7Mail() throws EmailException, MalformedURLException {  
        enviaEmailSimples();  
        //enviaEmailComAnexo();  
        //enviaEmailFormatoHtml();  
    }  
      
    /** 
     * envia email simples(somente texto) 
     * @throws EmailException 
     */  
    public void enviaEmailSimples() throws EmailException {  
          
        System.out.println( "Enviando email ");
        
        SimpleEmail email = new SimpleEmail();  
        email.setHostName("smtp.gmail.com"); // o servidor SMTP para envio do e-mail  
        email.addTo("[email removido]", "Mauricio"); //destinatário  
        email.setFrom("[email removido]", "Augusto"); // remetente  
        email.setSubject("Teste -> Email simples"); // assunto do e-mail  
        email.setMsg("Teste de Email utilizando commons-email"); //conteudo do e-mail  
        email.setAuthentication("xxx", "xxx");  
        email.setSmtpPort(587);  
        email.setSSL(true);  
        email.setTLS(true);  
        email.send();     
        
        System.out.println( "Enviado com sucesso ! ");
    }  
      
      
    /** 
     * envia email com arquivo anexo 
     * @throws EmailException 
     */  
    public void enviaEmailComAnexo() throws EmailException{  
          
        // cria o anexo 1.  
        EmailAttachment anexo1 = new EmailAttachment();  
        anexo1.setPath("teste/teste.txt"); //caminho do arquivo (RAIZ_PROJETO/teste/teste.txt)  
        anexo1.setDisposition(EmailAttachment.ATTACHMENT);  
        anexo1.setDescription("Exemplo de arquivo anexo");  
        anexo1.setName("teste.txt");          
          
        // cria o anexo 2.  
        EmailAttachment anexo2 = new EmailAttachment();  
        anexo2.setPath("teste/teste2.jsp"); //caminho do arquivo (RAIZ_PROJETO/teste/teste2.jsp)  
        anexo2.setDisposition(EmailAttachment.ATTACHMENT);  
        anexo2.setDescription("Exemplo de arquivo anexo");  
        anexo2.setName("teste2.jsp");         
          
        // configura o email  
        MultiPartEmail email = new MultiPartEmail();  
        email.setHostName("smtp.gmail.com"); // o servidor SMTP para envio do e-mail  
        email.addTo("[email removido]", "Guilherme"); //destinatário  
        email.setFrom("[email removido]", "Eu"); // remetente  
        email.setSubject("Teste -> Email com anexos"); // assunto do e-mail  
        email.setMsg("Teste de Email utilizando commons-email"); //conteudo do e-mail  
        email.setAuthentication("teste", "xxxxx");  
        email.setSmtpPort(465);  
        email.setSSL(true);  
        email.setTLS(true);  
          
        // adiciona arquivo(s) anexo(s)  
        email.attach(anexo1);  
        email.attach(anexo2);  
        // envia o email  
        email.send();  
    }  
      
      
    /** 
     * Envia email no formato HTML 
     * @throws EmailException  
     * @throws MalformedURLException  
     */  
    public void enviaEmailFormatoHtml() throws EmailException, MalformedURLException {  
          
        HtmlEmail email = new HtmlEmail();  
          
        // adiciona uma imagem ao corpo da mensagem e retorna seu id  
        URL url = new URL("http://www.apache.org/images/asf_logo_wide.gif");  
        String cid = email.embed(url, "Apache logo");     
          
        // configura a mensagem para o formato HTML  
        email.setHtmlMsg("<html>Logo do Apache - <img ></html>");  
  
        // configure uma mensagem alternativa caso o servidor não suporte HTML  
        email.setTextMsg("Seu servidor de e-mail não suporta mensagem HTML");  
          
        email.setHostName("smtp.gmail.com"); // o servidor SMTP para envio do e-mail  
        email.addTo("[email removido]", "Guilherme"); //destinatário  
        email.setFrom("[email removido]", "Eu"); // remetente  
        email.setSubject("Teste -> Html Email"); // assunto do e-mail  
        email.setMsg("Teste de Email HTML utilizando commons-email"); //conteudo do e-mail  
        email.setAuthentication("teste", "xxxxx");  
        email.setSmtpPort(465);  
        email.setSSL(true);  
        email.setTLS(true);  
        // envia email  
        email.send();  
    }  
}
Criado 1 de outubro de 2010
Ultima resposta 1 de out. de 2010
Respostas 2
Participantes 2