br.com.hslife.catu.service.EmailService.java Source code

Java tutorial

Introduction

Here is the source code for br.com.hslife.catu.service.EmailService.java

Source

/***
    
Copyright (c) 2010-2014 Hrcules S. S. Jos
    
    
    
Este arquivo  parte do programa CATU.
    
CATU  um software livre; voc pode redistribui-lo e/ou 
    
modific-lo dentro dos termos da Licena Pblica Geral Menor GNU como 
    
publicada pela Fundao do Software Livre (FSF); na verso 2.1 da 
    
Licena.
    
    
    
Este programa  distribudo na esperana que possa ser til, 
    
mas SEM NENHUMA GARANTIA; sem uma garantia implicita de ADEQUAO a qualquer
    
MERCADO ou APLICAO EM PARTICULAR. Veja a Licena Pblica Geral Menor GNU 
    
em portugus para maiores detalhes.
    
    
    
Voc deve ter recebido uma cpia da Licena Pblica Geral Menor GNU sob o 
    
nome de "LICENSE.TXT" junto com este programa, se no, acesse o site HSlife no 
    
endereco www.hslife.com.br ou escreva para a Fundao do Software Livre(FSF) Inc., 
    
51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA.
    
    
    
Para mais informaes sobre o programa CATU e seus autores acesse o 
    
endereo www.hslife.com.br, pelo e-mail contato@hslife.com.br ou escreva para 
    
Hrcules S. S. Jos, Av. Ministro Lafaeyte de Andrade, 1683 - Bl. 3 Apt 404, 
    
Marco II - Nova Iguau, RJ, Brasil.
    
***/

package br.com.hslife.catu.service;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;

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;

/**
 * 
 * Classe EmailService
 * 
 * Classe responsvel por enviar mensagem de acordo com o mtodo escolhido
 * O cdigo foi obtido em http://www.guj.com.br/posts/list/106280.java e 
 * adaptado para este projeto.
 *
 * @author Hrcules
 * @version 1.0
 */
public class EmailService {

    /**
      * envia email simples (smente texto)
      * Nome remetente, e-mail remetente, nome destinatario, e-mail destinatario,
      * assunto, mensagem
      * @param nomeRemetente
      * @param nomeDestinatario
      * @param emailRemetente
      * @param emailDestinatario
      * @param assunto
      * @param mensagem
      * @throws EmailException
      */
    public void enviaEmailSimples(String nomeRementente, String emailRemetente, String nomeDestinatario,
            String emailDestinatario, String assunto, StringBuilder mensagem) throws EmailException {

        SimpleEmail email = new SimpleEmail();
        email.setHostName("smtp.hslife.com.br"); // o servidor SMTP para envio do e-mail
        email.addTo(emailDestinatario, nomeDestinatario); //destinatrio
        email.setFrom(emailRemetente, nomeRementente); // remetente
        email.setSubject(assunto); // assunto do e-mail
        email.setMsg(mensagem.toString()); //conteudo do e-mail
        email.setAuthentication("nao-responde@hslife.com.br", "n0r3ply1@3");
        email.setCharset("UTF8");
        email.setSmtpPort(465);
        email.setSSL(true);
        email.setTLS(true);
        email.send();
    }

    /**
     * Envia email no formato HTML
     *
     * @param nomeRemetente
     * @param nomeDestinatario
     * @param emailRemetente
     * @param emailDestinatario
     * @param assunto
     * @param mensagem
     * @param anexo
     *
     * @throws EmailException
     * @throws MalformedURLException
     */
    public void enviaEmailFormatoHtml(String nomeRementente, String emailRemetente, String nomeDestinatario,
            String emailDestinatario, String assunto, StringBuilder mensagem, String anexo)
            throws EmailException, MalformedURLException {

        HtmlEmail email = new HtmlEmail();

        // adiciona uma imagem ao corpo da mensagem e retorna seu id
        URL url = new URL(anexo); // URL do arquivo a ser anexado
        String cid = email.embed(url, "Anexos");

        // configura a mensagem para o formato HTML
        email.setHtmlMsg("<html>Anexos</html>");

        // configure uma mensagem alternativa caso o servidor no suporte HTML
        email.setTextMsg("Seu servidor de e-mail no suporta mensagem HTML");

        email.setHostName("smtp.hslife.com.br"); // o servidor SMTP para envio do e-mail
        email.addTo(emailDestinatario, nomeDestinatario); //destinatrio
        email.setFrom(emailRemetente, nomeRementente); // remetente
        email.setSubject(assunto); // assunto do e-mail
        email.setMsg(mensagem.toString()); //conteudo do e-mail
        email.setAuthentication("realimoveis@hslife.com.br", "real123");
        email.setCharset("UTF8");
        //email.setSmtpPort(465);
        //email.setSSL(true);
        //email.setTLS(true);

        // envia email
        email.send();
    }

    /**
     * envia email com arquivo anexo
     * @throws EmailException
     */
    public void enviaEmailComAnexo(String nomeRementente, String emailRemetente, String nomeDestinatario,
            String emailDestinatario, String assunto, StringBuilder mensagem, List<String> anexos)
            throws EmailException, MalformedURLException {

        MultiPartEmail email = new MultiPartEmail();
        email.setHostName("smtp.hslife.com.br"); // o servidor SMTP para envio do e-mail
        email.addTo(emailDestinatario, nomeDestinatario); //destinatrio
        email.setFrom(emailRemetente, nomeRementente); // remetente
        email.setSubject(assunto); // assunto do e-mail
        email.setMsg(mensagem.toString()); //conteudo do e-mail
        email.setAuthentication("realimoveis@hslife.com.br", "real123");
        email.setCharset("UTF8");
        //email.setSmtpPort(465);
        //email.setSSL(true);
        //email.setTLS(true);
        // adiciona arquivo(s) anexo(s)
        EmailAttachment anexo = new EmailAttachment();
        for (String arquivo : anexos) {
            anexo.setPath("/home/hslife/" + arquivo); //caminho do arquivo (RAIZ_PROJETO/teste/teste.txt)
            anexo.setDisposition(EmailAttachment.ATTACHMENT);
            anexo.setName(arquivo);
            email.attach(anexo);
            anexo = new EmailAttachment();
        }
        // Envia o e-mail
        email.send();
    }

}