Usar CommonsMail [RESOLVIDO]

1 resposta
tiagotgd29

Galera como faço para usar a classe CommonsMail, criando objeto e usando os metodos. ?

a classe commons :
package Utilidades;

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;   
import gui.Abrir_Chamado;  

public class CommonsMail {   
    Abrir_Chamado user = new Abrir_Chamado();   
	private int index;
	private String nome;
	
	public CommonsMail() throws EmailException, MalformedURLException {   
        enviaEmailSimples();   
        enviaEmailComAnexo();   
        enviaEmailFormatoHtml();   
    }   
    /**  
     * envia email simples(somente texto)  
     * @throws EmailException  
     */   
    public void enviaEmailSimples() throws EmailException {   
    	//pegar primeiro nome
        index = user.tx_Contato.getText().indexOf(".");
        nome = user.tx_Contato.getText().substring(0,index);
    	
        SimpleEmail email = new SimpleEmail();   
        email.setHostName("smtp.email.com.br"); // o servidor SMTP para envio do e-mail   
        email.addTo(user.tx_Contato.getText(),nome); //destinatário   
        email.setFrom("xxxx", "Tiago Dias"); // remetente   
        email.setSubject("Chamado cadastrado com sucesso!\n" +
        "Seu número de protocolo é : "+ user.getProtocolo() + "\n" +
        "Guarde seu protocolo para consultar o status de seu chamados.\n" +
        "att,\nEquipe TI"); // assunto do e-mail   
        email.setMsg("Protocolo de chamado"); //conteudo do e-mail   
        email.setAuthentication("xxxxx", "xxxxxx");   
        email.setSmtpPort(465);   
        email.setSSL(true);   
        email.setTLS(true);   
        email.send();     
    }   
    /**  
     * 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();   
    }   
    /**  
     * @param args  
     * @throws EmailException  
     * @throws MalformedURLException  
     */   
    public static void main(String[] args) throws EmailException, MalformedURLException {   
        new CommonsMail();   
    }   
}

Eu queria fazer o seguinte na minha classe Abrir_Chamado

CommonsMail email = new CommonsMail();

email.enviaEmailSimples();

como eu faço isto ?
Já que aqui fica como se fosse erro e sem sugestões.

Grato,

1 Resposta

CristianPalmaSola10

Modifique seu contrutor e o atributo user de sua classe da seguinte forma

Abrir_Chamado user = null;

    public CommonsMail(Abrir_Chamado tela) {     
        this.user = tela;
    }

quanto voce queiser mandar o emaul faça

new CommonsMail(tela).enviaEmailSimples();
Criado 29 de fevereiro de 2012
Ultima resposta 29 de fev. de 2012
Respostas 1
Participantes 2