Envoyer un mail avec Java en utilisant Gmail
Dans ce tutoriel nous allons découvrir comment envoyer un mail avec Java en utilisant le serveur SMTP de Gmail.
L’envoi d’e-mails en java à l’aide de Gmail SMTP et de l’API JavaMail est facile. Le principe d’envoi des e-mails est effectué par l’API JavaMail (en utilisant GMail) et nous avons juste besoin de lui transmettre les paramètres requis. À chaque version, l’API JavaMail devient sophistiquée et l’envoi d’e-mails avec GMail se fait en un clic.
Pour envoyer un mail à l’aide de l’API JavaMail, vous devez charger les deux fichiers jar:
- mailapi.jar
- smtp.jar
Exemple:
import javax.mail.internet.*; import java.util.Properties; import javax.mail.*; class Mail { public static void send(String from,String pwd,String to,String sub,String msg){ //Propriétés Properties p = new Properties(); p.put("mail.smtp.host", "smtp.gmail.com"); p.put("mail.smtp.socketFactory.port", "465"); p.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); p.put("mail.smtp.auth", "true"); p.put("mail.smtp.port", "465"); //Session Session s = Session.getDefaultInstance(p, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(from, pwd); } }); //composer le message try { MimeMessage m = new MimeMessage(s); m.addRecipient(Message.RecipientType.TO,new InternetAddress(to)); m.setSubject(sub); m.setText(msg); //envoyer le message Transport.send(m); System.out.println("Message envoyé avec succès"); } catch (MessagingException e) { e.printStackTrace(); } } } public class Main { public static void main(String[] args) { //from, password, to, subject, message Mail.send( "[email protected]", "password", "[email protected]", "Bienvenu sur WayToLearnX", "mail de test!" ); } }
Sortie:
Message envoyé avec succès
N’oublier pas de changer l’e-mail et le mot de passe. Regardons maintenant comment exécuter le programme :
1- Chargez les fichiers jar:
c:\> set classpath=mailapi.jar;smtp.jar;.;
2- Compiler le fichier java:
c:\> javac Main.java
3- Exécuter le code:
c:\> java Main
Si vous rencontrez ce genre d’erreur:
Vous devez configurer les paramètres de sécurité de GMAIL, en visitant le lien suivant https://myaccount.google.com/security
Défiler la page vers le bas jusqu’à ce que vous trouver Accès moins sécurisé des applications, puis cliquez sur Activer l’accès comme montrer dans l’image ci-dessous:
Cliquez pour activer l’option.
Maintenant vérifier, si tout se passe bien, vous devriez voir le message de réussite « Message envoyé avec succès » dans votre ligne de commande.
/!\ Depuis le 30/05/2022, Google ne permet plus l’accès moins sécurisé
Google a élevé sa sécurité, et je ne trouve plus « accès moins sécurisé des applications »
que faire