Estou utilizando o javamail para enviar email utilizando um servidor SMTP com SSL e sempre é retornado uma exception : 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.
Descobri que o problema é que o servidor SMTP não possui um certificado autêntico. Quando se acessa esse servidor através de browsers, sempre é exibido uma mensagem informando sobre o certificado, porém no browser é possível contornar isso e acessar o webmail normalmente.
Será que alguem aqui sabe como contornar este problema? Não encontrei ainda que tipo de configuração eu devo acrescentar no Properties do Session para conseguir conectar neste servidor usando SSL contornando este problema do certificado.
props.put("mail.debug", "true");
props.put("mail.smtp.host", <meu smtp host>);
props.put("mail.smtp.port", "465");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.ssl", "true");
-
Transport tr = session.getTransport("smtps"); tr.connect(<meu smtp host>, <login>, <senha>); tr.sendMessage(message, message.getAllRecipients()); tr.close();