Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package Controle; import Modelo.ModelEmail; import org.apache.commons.mail.DefaultAuthenticator; import org.apache.commons.mail.Email; import org.apache.commons.mail.EmailAttachment; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.MultiPartEmail; /** * * @author Alunos */ public class EmailControl { public boolean enviarEmail(ModelEmail e) throws EmailException { try { MultiPartEmail email = new MultiPartEmail(); //Classe responsvel por enviar o email String emailRemetente = e.getRemetente(); //gmail: testepooemail@gmail.com | hotmail: programacao451@hotmail.com String nomeRemetente = e.getNomeRemetente(); String senhaRemetente = e.getSenha(); //gmail: ifmginfo | hotmail: ifmginfo12 String hostName = ""; //gmail: smtp.gmail.com | hotmail: smtp-mail.outlook.com if (e.isTipoEmail()) { hostName = "smtp-mail.outlook.com"; } else { hostName = "smtp.gmail.com"; } String emailDestinatario = e.getDestinatario(); //email do destinatrio int porta = 587; String portaSmtp = Integer.toString(porta); //converte a porta para String email.setSmtpPort(porta); //porta para envio email.setAuthenticator(new DefaultAuthenticator(emailRemetente, senhaRemetente)); //autenticao da conta email.setDebug(true); email.setHostName(hostName); //varia de cada servidor //propriedades para o envio do email email.getMailSession().getProperties().put("mail.smtps.auth", true); email.getMailSession().getProperties().put("mail.debug", "true"); email.getMailSession().getProperties().put("mail.smtps.port", portaSmtp); email.getMailSession().getProperties().put("mail.smtps.socketFactory.port", portaSmtp); email.getMailSession().getProperties().put("mail.smtps.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); email.getMailSession().getProperties().put("mail.smtps.socketFactory.fallback", "false"); email.getMailSession().getProperties().put("mail.smtp.starttls.enable", true); email.getMailSession().getProperties().put("mail.smtp.starttls.required", true); email.getMailSession().getProperties().put("mail.smtp.ssl.trust", hostName); email.setFrom(emailRemetente, nomeRemetente); //email e nome de quem est enviando o email email.setSubject(e.getAssunto()); //Assunto do email email.setMsg(e.getMensagem()); //Mensagem do email email.addTo(emailDestinatario); //destinatrio do email email.setTLS(true); //define o mtodo de criptografia if (e.isPossuiAnexo()) { EmailAttachment anexo1 = new EmailAttachment(); //Classe para anexar arquivos anexo1.setPath(e.getCaminhoAnexo()); //Incluindo diretrio do anexo anexo1.setDisposition(EmailAttachment.ATTACHMENT); //Informando um email que tem anexo email.attach(anexo1); //Atribuindo os anexos ao email email.send(); //envia o email System.out.println("Email Enviado com Sucesso !!!"); } else { email.send(); //envia o email System.out.println("Email Enviado com Sucesso !!!"); } return true; } catch (Exception ex) { return false; } } }