VRAPTOR SIMPLEMAIL nao envia o email de teste

60 views
Skip to first unread message

claudio da silva Almeida

unread,
Jul 26, 2017, 11:09:41 AM7/26/17
to caelum-vraptor
Estou usando o Vraptor simplemail 4.1.0-RC4 com vraptor  4.2.0-RC5 e java 8 , estou tentando fazer o teste e tenho seguinte erro:


Nao foi possivel enviar o email!!javax.mail.MessagingException: Could not convert socket to TLS;
  nested exception is:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target


meu production.properties:
vraptor.simplemail.main.server = smtp-ha.skymail.net.br
vraptor.simplemail.main.port = 587
vraptor.simplemail.main.tls = true
vraptor.simplemail.main.auth = true
vraptor.simplemail.main.from=funciona...@gamaitaly.com.br
vraptor.simplemail.main.username=funciona...@gamaitaly.com.br
vraptor.simplemail.main.password=Gama2017

metodo do construtor:
public void enviaPedido() {
 Email email = new SimpleEmail();
     email.setSubject("teste de email");
     try {
email.setMsg("teste de mensagem");
   mailer.send(email);
   System.out.println("ENVIADO COM SUCESSO!!");
} catch (EmailException e) {
// TODO Auto-generated catch block
System.out.println("Nao foi possivel enviar o email!!"+e.getCause());
}
    
     result.redirectTo(this).compras();
}

Ivo Sestren Junior

unread,
Jul 26, 2017, 12:18:00 PM7/26/17
to caelum-...@googlegroups.com
Eu tentei utilizar o simplemail e também não obtive sucesso.
Resolvi da seguinte maneira:

    @Path("/")
public void send(Email email, List<UploadedFile> files) {
try {
email = validarDados(email);

Properties props = new Properties();
props.put("mail.smtp.host", email.getHost());
props.put("mail.smtp.socketFactory.port", email.getPort());
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", email.getPort());

logger.info("Enviando email para {} - {}", email.getToEmail(), email.getSubject());

Email finalEmail = email;
Session session = Session.getInstance(props, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(finalEmail.getUser(), finalEmail.getPass());
}
});

session.setDebug(true);

byte[] isoTitulo = email.getSubject().getBytes("ISO-8859-1");
String titulo = new String(isoTitulo, "UTF-8");

String conteudoRecebido;

if (email.getText() != null) {
conteudoRecebido = email.getText().replaceAll("%26", "&");
} else {
conteudoRecebido = "";
}

String conteudo = conteudoRecebido;

Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(email.getFrom()));
Address[] toUser = InternetAddress.parse(email.getToEmail());
message.setRecipients(Message.RecipientType.TO, toUser);
message.setSubject(titulo);

if ((files == null) || (files.size() == 0)) {
message.setContent(conteudo, "text/html; charset=UTF-8");
} else {
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent(conteudo, "text/html; charset=UTF-8");

Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
for (UploadedFile file : files) {
messageBodyPart = new MimeBodyPart();

DataSource source = new ByteArrayDataSource(file.getFile(), file.getContentType());
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(file.getFileName());

multipart.addBodyPart(messageBodyPart);
}
message.setContent(multipart);
}

Transport.send(message);

logger.info("Email enviado com sucesso");
result.use(Results.http()).body("Ok");
} catch (MessagingException | IOException e) {
logger.error(e.getMessage());
result.use(Results.http()).body("Error: " + e.getMessage());
}
}

2017-07-26 11:11 GMT-03:00 claudio da silva Almeida <almeida.c...@gmail.com>:
Estou usando o Vraptor simplemail 4.1.0-RC4 com vraptor  4.2.0-RC5 e java 8 , estou tentando fazer o teste e tenho seguinte erro:


Nao foi possivel enviar o email!!javax.mail.MessagingException: Could not convert socket to TLS;
  nested exception is:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target


meu production.properties:
vraptor.simplemail.main.server = smtp-ha.skymail.net.br
vraptor.simplemail.main.port = 587
vraptor.simplemail.main.tls = true
vraptor.simplemail.main.auth = true
vraptor.simplemail.main.from=funcionarios.gama@gamaitaly.com.br
vraptor.simplemail.main.username=funcionarios.gama@gamaitaly.com.br
vraptor.simplemail.main.password=Gama2017

metodo do construtor:
public void enviaPedido() {
 Email email = new SimpleEmail();
     email.setSubject("teste de email");
     try {
email.setMsg("teste de mensagem");
   mailer.send(email);
   System.out.println("ENVIADO COM SUCESSO!!");
} catch (EmailException e) {
// TODO Auto-generated catch block
System.out.println("Nao foi possivel enviar o email!!"+e.getCause());
}
    
     result.redirectTo(this).compras();
}

--
Você recebeu essa mensagem porque está inscrito no grupo "caelum-vraptor" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para caelum-vraptor+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para caelum-vraptor@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/caelum-vraptor.
Para mais opções, acesse https://groups.google.com/d/optout.

Alday Pinheiro

unread,
Jul 26, 2017, 5:34:05 PM7/26/17
to caelum-...@googlegroups.com
Opa, boa tarde!

Estou usando o vraptor 4.2.0-RC5 junto com o vraptor-simplemail 4.1.0-RC4 e está funcionando normalmente. 

Caso seja de alguma ajuda, segue o meu production.properties:

vraptor.simplemail.main.server = smtp.gmail.com
vraptor.simplemail.main.port = 587
vraptor.simplemail.main.tls = true
vraptor.simplemail.main.username=jj44...@gmail.com
vraptor.simplemail.main.password=password
vraptor.simplemail.main.from=jj44...@gmail.com
vraptor.simplemail.send_real_email=true

e um dos métodos que envio o email:

@Inject
private AsyncMailer asyncMailer;

public void changePassword(User receiver) throws EmailException {
Email email = template.template("changePassword").with("userName", receiver.getName())
.with("actionLink", "link")
.to(receiver.getName(), receiver.getUsername())
.setFrom(senderEmail, senderName)
.addReplyTo(senderEmail, senderName);
asyncMailer.asyncSend(email);
}



Atenciosamente,
José Alday.
+55 88 9.9804-5712

vraptor.simplemail.main.from=funcionar...@gamaitaly.com.br
vraptor.simplemail.main.username=funcionarios.gama@gamaitaly.com.br
vraptor.simplemail.main.password=Gama2017

metodo do construtor:
public void enviaPedido() {
 Email email = new SimpleEmail();
     email.setSubject("teste de email");
     try {
email.setMsg("teste de mensagem");
   mailer.send(email);
   System.out.println("ENVIADO COM SUCESSO!!");
} catch (EmailException e) {
// TODO Auto-generated catch block
System.out.println("Nao foi possivel enviar o email!!"+e.getCause());
}
    
     result.redirectTo(this).compras();
}

--
Você recebeu essa mensagem porque está inscrito no grupo "caelum-vraptor" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para caelum-vraptor+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para caelum-...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages