Olá desenvolvedores, continuando com os tutorias sobre envio de e-mail com JavaMail e maven. Hoje aprenderemos com implementar a autenticação do certificado de segurança SSL – Secure Sockets Layer e a identificação do remetente.
O SSL ou certificado digital é uma tecnologia de segurança que permite a comunicação segura, isto é, criptografada entre um navegador da Internet e um servidor da web. Ele tem duas funções, autenticar a identidade do site e criptografar os dados transmitidos.
Como nossa comunicação se dá com um servidor externo, existe uma série de eventos que podem ocorrer que não estão ao nosso alcance resolver. Como por exemplo, alguma interação no servidor que pode invalidar, causar erros em nossa aplicação. A nós cabe então entender a mudança e encontrar uma solução.
Assim, a implementação de um certificado digital de segurança é um ajuste necessário na aplicação que estamos fazendo. Visto que sem ela, o e-mail não mais será enviado.
Properties.put(“mail.smtp.ssl.trust”, “*”);
Com este pequeno ajuste observe que agora o e-mail será enviado com sucesso. É importante que esteja atento a estas situações. Especialmente quando dependemos de um recurso externo, muitos fatores fugirão ao nosso controle. Como um solucionador de problemas, você deverá buscar rapidamente por uma solução.
INDENTIFICAÇÃO DO REMETENTE
Agora observe que quando recebemos o e-mail onde deveria ser exibido o nome, mostra o endereço de e-mail. Isso não é um grande problema, mas também não é nada elegante. Ou ainda, o remetente do e-mail pode utilizar um usuário de e-mail que torna difícil a sua identificação de imediato.
Assim, onde setamos todos os atributos da mensagem, em setFrom – que se refere a configuração de quem está enviando adicione o nome que deseja que seja exibido.
mesage.setFrom(New InternetAddres(UserName, “Alex JDev – Treinamento”));
PROBLEMAS E SOLUÇÕES
Um problema comum que pode ocorrer é a constatação de que o e-mail enviado não está chegando. O que acontece é que por se tratar de um teste, devidamente informado na anotação, @org.junit.Test, após a execução e processamento ele matava o processo. Neste caso você pode colocar um tempo de espera, mas atenção, este “tempo” de espera só deve ser utilizado em testes.
Thread.sleep(5000);
EM POUCAS PALAVRAS
Então é isso, neste tutorial realizamos um ajuste adicionando um certificado de segurança. Agora temos a identificação do remetente do e-mail. E aviamos uma solução para um problema que pode ocorrer ou não com você, mas se ocorrer você já sabe como resolver. Eu fico por aqui e nós nos vemos no próximo tutorial.