Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("aaaaaaaaaaa", "bbbbbbbbb");
}
});
session.setDebug(true);
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("xxxxxxxxxx"));
Address[] toUser = InternetAddress.parse("zzzzzzzzzz");
message.setRecipients(Message.RecipientType.TO, toUser);
message.setSubject("Enviando email com JavaMail");
message.setText("Enviei este email utilizando JavaMail com a minha conta GMail!");
Transport.send(message);
System.out.println("Email enviado com sucesso!!!");
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
Estou a usar este código para enviar email,será que alguém podia ajudar?Este código da o seguinte erro:
Error: Unable to initialize main class gui.JavaMailApp
Caused by: java.lang.NoClassDefFoundError: javax/mail/MessagingException
Bsi
Março 6, 2020, 11:34am
#2
Bom dia,
Da uma olhada se ajuda, ok?!
/*
* 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 br.com.fotografias.email;
import br.com.fotografias.transfer.EmailTransfer;
import br.com.fotografias.transfer.PessoaTransfer;
import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.commons.mail.DefaultAuthenticator;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.SimpleEmail;
/**
*
* @author Jandisson
*/
public class ContaClienteUsuarioEmail {
public ContaClienteUsuarioEmail() {
}
private static HtmlEmail mail = new HtmlEmail();
private static final StringBuffer strB = new StringBuffer();
private static final String HOSTNAME = "smtp.gmail.com";
private static final String USERNAME = "teste@gmail.com";
private static final String PASSWORD = "(7==7)!=teste";
private static final String EMAILORIGEM = "teste@gmail.com";
private static String RESPOSTA = "INVALIDO";
public void cadastrarConectadoEmail(PessoaTransfer pessoaTransfer) {
try {
//criacao de escrita pré-visualização dos dados
strB.append("<br></br>");
strB.append("<h1>Olá,tudo bem ? </h1>");
strB.append(pessoaTransfer.getNomepessoa().toUpperCase());
strB.append("<h4>Sua conta foi cadastrada.</h4>");
strB.append("<h4>Para acesso ao sistema é preciso de:</h4>");
strB.append("<br></br>");
strB.append("<p>Usuário: <b>").append(pessoaTransfer.getUsuariopessoa().toUpperCase()).append("</b> e senha: <b>").append(pessoaTransfer.getSenhapessoa()).append("</b> ;");
strB.append("<br></br>");
strB.append("<center><img src=\"http://s3-sa-east-1.amazonaws.com/storage.46graus.com/files/logo/37351/400x180_top_layout2_large_e828bbb3-a9cb-4db5-8cec-f434c8264698.png?93-16\"></center>");
strB.append("<br></br>");
strB.append("<center><font size=\"3px\">Por favor, não responda diretamente a este e-mail.</font></center>");
//escreve dados para o envio do email;
EmailTransfer emailTransfer = new EmailTransfer();
emailTransfer.setTitulo("USUÁRIO E SENHA DE ACESSO ...");
emailTransfer.setMensagem(strB.toString());
emailTransfer.setEmailpessoa(pessoaTransfer.getEmailpessoa().toUpperCase());
enviarEmail(emailTransfer);
System.out.println(emailTransfer.getTitulo());
System.out.println(emailTransfer.getMensagem());
System.out.println(emailTransfer.getEmailpessoa());
System.out.println("Resposta = " + RESPOSTA);
} catch (Exception ex) {
Logger.getLogger(ContaClienteUsuarioEmail.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void alterarConectadoEmail(PessoaTransfer pessoaTransfer) {
try {
strB.append("<br></br>");
strB.append("<h1>Olá,tudo bem ? </h1>");
strB.append(pessoaTransfer.getNomepessoa().toUpperCase());
strB.append("<br></br>");
strB.append("<h4>Sua senha foi alterada.</h4>");
strB.append("<h4>Para acesso ao sistema é preciso de:</h4>");
strB.append("<p>Usuário: <b>").append(pessoaTransfer.getUsuariopessoa().toUpperCase()).append("</b> e senha: <b>").append(pessoaTransfer.getSenhapessoa()).append("</b> ;");
strB.append("<br></br>");
strB.append("<center><img src=\"http://s3-sa-east-1.amazonaws.com/storage.46graus.com/files/logo/37351/400x180_top_layout2_large_e828bbb3-a9cb-4db5-8cec-f434c8264698.png?93-16\"></center>");
strB.append("<br></br>");
strB.append("<center><font size=\"3px\">Por favor, não responda diretamente a este e-mail.</font></center>");
strB.append("<center><font size=\"3px\">Esse e-mail foi enviado de um endereço apenas para notificação que não pode aceitar e-mails de entrada.</font></center>");
//escreve dados para o envio do email;
EmailTransfer emailTransfer = new EmailTransfer();
emailTransfer.setTitulo("USUÁRIO E SENHA DE ACESSO ...");
emailTransfer.setMensagem(strB.toString());
emailTransfer.setEmailpessoa(pessoaTransfer.getEmailpessoa().toUpperCase());
enviarEmail(emailTransfer);
} catch (Exception ex) {
Logger.getLogger(ContaClienteUsuarioEmail.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void enviarEmail(EmailTransfer email) throws EmailException, Exception {
try {
//abri a conexao de Email
mail = conectarEmail();
//escrever informacoes a serem passadas
mail.setSubject(email.getTitulo());
mail.setHtmlMsg(email.getMensagem());
mail.addTo(email.getEmailpessoa());
RESPOSTA = mail.send();
} catch (Exception ex) {
Logger.getLogger(ContaClienteUsuarioEmail.class.getName()).log(Level.SEVERE, null, ex);
}
}
private HtmlEmail conectarEmail() throws EmailException, Exception {
try {
mail.setHostName(HOSTNAME);
mail.setSmtpPort(587);
mail.setAuthentication(USERNAME, PASSWORD);
mail.setTLS(true);
mail.setFrom(EMAILORIGEM);
return mail;
} catch (Exception ex) {
Logger.getLogger(ContaClienteUsuarioEmail.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
}
Bsi
Março 6, 2020, 11:35am
#3
Lembrando que ai e para o gmail!!!
Boas! Mas este código utiliza HTML?