Alors pour exécuter ces exemples, vous devez obtenir deux bibliothèques suivantes «mail.jar» et «activation.jar». Avec maven vous devez ajouter la dépendance ci-dessous à votre projet maven.
<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4</version> </dependency>
Les instructions de configuration standard de google:
Outgoing Mail (SMTP) Server - requires TLS or SSL:
smtp.gmail.com
Use Authentication: Yes
Port for TLS/STARTTLS: 587
Port for SSL: 465
Et pour plus de détails : https://support.google.com/mail/answer/13287?hl=en
1. SMTP GMail via TLS
Envoyer un e-mail via le serveur SMTP de Gmail en utilisant la connexion TLS.package com.saou.demo; import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class EnvoiMailTLS { public static void main(String[] args) { final String username = "username@gmail.com"; final String password = "password"; Properties props = new Properties(); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.host", "smtp.gmail.com"); props.put("mail.smtp.port", "587"); Session session = Session.getInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); try { Message message = new MimeMessage(session); message.setFrom(new InternetAddress("de-email@gmail.com")); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("a-email@gmail.com")); message.setSubject("Objet Test"); message.setText("E-mail de test pour l'exemple de l'API JavaMail. " + "<br/><br/>Cordialement, <br/>Rachid SAOU"); Transport.send(message); System.out.println("Terminé"); } catch (MessagingException e) { throw new RuntimeException(e); } } }
Port for SSL: 465
2. SMTP GMail via SSL
Envoyer un e-mail via le serveur SMTP de Gmail en utilisant la connexion SSL.package com.saou.demo; import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class EnvoiMailSSL { public static void main(String[] args) { final String username = "username@gmail.com"; final String password = "password"; 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.getInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); try { Message message = new MimeMessage(session); message.setFrom(new InternetAddress("de-email@gmail.com")); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("a-email@gmail.com")); message.setSubject("Objet Test"); message.setText("E-mail de test pour l'exemple de l'API JavaMail. " + "<br/><br/>Cordialement, <br/>Rachid SAOU"); Transport.send(message); System.out.println("Terminé"); } catch (MessagingException e) { throw new RuntimeException(e); } } }
Aucun commentaire:
Enregistrer un commentaire