Envio de email com JSF

3 respostas
A

Alguem sabe como enviar email usando Java Server Faces?
Eu criei um bean e dentro do bean instanciei um SimpleEmail (da biblioteca org.apache.commons.mail),
no construtor não da erro algum, mas qdo tento usar algum metodo da classe ele diz “package does not found”.
Será q alguem poderia me ajudar?

Grato

3 Respostas

shyryu

Bom Cara aqui vai um exemplo que usei no meu estagio:
Tinha uma view que o usuario digitava as informações do email.
chamo esse method e seto as informações no construtor

public String enviarPorEmail() {
        mail = new EmailUtil("Fale Conosco", "[email removido]",
                "Portal - " + assunto, montaEmail());       //montaEmail é um method para fazer a formatação do email
        mail.setParaMail( "[email removido]" );
        if (mail.enviaEmailHtml())
            confirma = "Mensagem enviada com sucesso.";
        else
            confirma = "Mensagem não enviada.";
 
        
        this.nome = "";
        this.empresa = "";
        this.ddd = "";
        this.fone = "";
        this.cidade = "";
        this.uf = "";
        this.email = "";
        this.assunto = "";
        this.mensagem = "";
        
        return null;
    }
public String montaEmail() {
        String msg;
        
        msg = "<html>"             
                + "<body  bgcolor='#EBEBEB'>"                  
                + "<div align='left'>"                    
                + "<img src='http://........jpg'/> "
                + "</div>"
                + "<h3>Fale Conosco </h3>"
                + "<p>Prezado(a),</p>"
                + "<p>Este é um email de <strong>" + assunto + "</strong>.</p>"        
                                      
                + "<strong>Nome:</strong> " + nome + "<br/>"
                + "<strong>Empresa:</strong> " + empresa + "<br/>"
                + "<strong>Fone:</strong> (" + ddd + ") " + fone + "<br/>"
                + "<strong>Cidade/UF:</strong> " + cidade + " / " + uf + "<br/>"
                + "<strong>E-mail:</strong> " + email + "<br/>"              
                + "<strong>Mensagem:</strong><br/> " + mensagem               
                + "<br/>"
                + "<br/>"
                + "<div colspan='1' height='30' align='center'>"
                    + "<b><center>**** FAVOR NÃO RETORNAR ESTE EMAIL ****</center></b>" 
                + "</div>"
            
        + "</body>"
        + "</html>";
        
        return msg;
    }
ai esse method é encarregado de enviar o email
public boolean enviaEmailHtml() {
        try {
            HtmlEmail email = new HtmlEmail();
            email.setHostName(EmailUtil.HOST); // o servidor SMTP para envio do e-mail
            if (destinos != null && destinos.size() > 0) {
                for (String nome : destinos.keySet()) {
                    email.addTo(destinos.get(nome), nome);
                }
            } else {
                email.addTo(paraMail, para); //destinatário
	    }
            email.setAuthentication( EmailUtil.AGENTESMTP, EmailUtil.SENHASMTP);
            email.setFrom(deMail, de); // remetente
            email.setSubject(assunto); // assunto do e-mail
            email.setHtmlMsg(mensagem); //conteudo do e-mail
            email.setCharset("UTF-8");  //formatação do email
            email.setDebug(true);
            email.send(); //envia o e-mail
            
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
A

Qual biblioteca foi usada neste codigo?

david.cs20

Para o envio de emails e necessario as seguintes bibliotecas java:

Activation;

mail;

mailapi;

pop3;

smtp.

Creio que nao esqueçi nenhuma.
Qualquer coisa e so pergunta o GOOGLE ele o cara mais inteligente do mundo !!!

Bons codigos !

Criado 20 de outubro de 2010
Ultima resposta 20 de out. de 2010
Respostas 3
Participantes 3