Primeiro é preciso gerar e importar o certificado... detalhes são explicados usando o link a seguir:
http://notepad2.blogspot.com.br/2012/04/import-gmail-certificate-into-java.html
E para conseguir enviar usando JavaEE e o glassfish é preciso importar o certficado no arquivo C:\Program Files\glassfish-4.0\glassfish\domains\domain1\config\cacerts.jks , entende-se que esteja usando windows, caso contrário basta localizar o arquivo em seu sistema operacional. Depois disso basta criar a classe e o Método Java para envio, antes importe a biblioteca mail.jar ( http://www.oracle.com/technetwork/java/index-138643.html ) no projeto.
public void enviarEmail() {
System.out.println("Teste Email...");
Properties props = System.getProperties();
//props.put("mail.smtp.starttls.enable", true); // funciona tb com tls
props.put("mail.protocol.ssl.trust", true);
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.user", "usuargmailsemo@");
props.put("mail.smtp.password", "senhadoemail");
//props.put("mail.smtp.port", "587"); //// funciona tb com tls
props.put("mail.smtp.port", "465");
props.put("mail.smtp.auth", true);
Session session = Session.getInstance(props, null);
MimeMessage message = new MimeMessage(session);
System.out.println("Port: " + session.getProperty("mail.smtp.port"));
// Create the email addresses involved
try {
InternetAddress from = new InternetAddress("usuargmailsemo@");
message.setSubject("Yes we can");
message.setFrom(from);
message.addRecipients(Message.RecipientType.TO, InternetAddress.parse("emaildesttino"));
// Create a multi-part to combine the parts
Multipart multipart = new MimeMultipart("alternative");
// Create your text message part
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText("some text to send");
// Add the text part to the multipart
multipart.addBodyPart(messageBodyPart);
// Create the html part
messageBodyPart = new MimeBodyPart();
String htmlMessage = "Our html text";
messageBodyPart.setContent(htmlMessage, "text/html");
// Add html part to multi part
multipart.addBodyPart(messageBodyPart);
// Associate multi-part with message
message.setContent(multipart);
// Send message
Transport transport = session.getTransport("smtps");
transport.connect("smtp.gmail.com", "usuargmailsemo@", "senhadoemail");
System.out.println("Transport: " + transport.toString());
transport.sendMessage(message, message.getAllRecipients());
} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Links:
http://www.mkyong.com/java/javamail-api-sending-email-via-gmail-smtp-example/
http://notepad2.blogspot.com.br/2012/04/import-gmail-certificate-into-java.html
http://stackoverflow.com/questions/20122099/error-in-javamail-pkix-path-building-failed-unable-to-find-valid-certification
Se achou útil faça uma doação.