« C'est moi… encore. Et encore, j'ai une petite surprise pour toi.

« Aujourd'hui, je vais vous apprendre à envoyer des e-mails avec Java. »

« Commençons par la bonne nouvelle : Java dispose d'une bibliothèque native pour travailler avec les e-mails. »

"La mauvaise nouvelle est que cette bibliothèque fait partie de Java EE , pas de Java SE ."

" Java EE est une version étendue de JavaSE , qui inclut les classes nécessaires aux applications plus astucieuses. Par exemple, une application pour travailler avec le courrier électronique."

« J'ai compris, alors que peut-on faire alors ?

"Eh bien, je vous suggère de télécharger cette bibliothèque et c'est tout."

"Utilisez IntelliJ IDEA à bon escient."

"Créez une classe et ajoutez les bibliothèques javax.mail.* et javax.mail.internet.* à la section d'importation.

"Ensuite, appuyez sur Alt+Entrée et laissez IDEA faire tout pour vous :

"Voici à quoi ressemble l'offre de téléchargement des bibliothèques manquantes :"

Envoyer un e-mail - 1

"Voici à quoi ressemble la fenêtre de téléchargement :"

Envoyer un e-mail - 2

"Ou vous pouvez le télécharger ici "

« Téléchargé. Quelle est la prochaine ? »

"Vous devez accéder aux paramètres du projet (Ouvrir les paramètres du module) dans la section Bibliothèques et ajouter des fichiers JAR à partir de l'archive téléchargée."

Envoyer un e-mail - 3

"Fait."

"Les lignes suivantes ne sont-elles plus rouges ?"

import javax.mail.internet.MimeMessage;
import javax.mail.internet.*;

"Ouais."

"Génial, continuons alors."

"Il y a trois étapes pour envoyer un e-mail."

1) Établissez une connexion avec le serveur de messagerie qui sera utilisé pour envoyer l'e-mail

2) Créez l'e-mail et, si nécessaire, ajoutez des pièces jointes

3) Envoyez l'e-mail.

"Commençons depuis le début."

"Pour envoyer un e-mail en Java, vous devez d'abord établir une connexion avec le serveur de messagerie."

"Il est préférable que vous ayez déjà un compte de messagerie sur le serveur. Préoccupés par le spam, les serveurs de messagerie modernes ne veulent pas envoyer de messages d'utilisateurs anonymes. "

"Vous pouvez vous connecter au serveur avec un seul appel à la méthode javax.mail.Session.getDefaultInstance :"

Créer une connexion avec le serveur de messagerie
Properties props = new Properties();

// Here we need to load data into the props object

Session session = Session.getDefaultInstance(props);

"Mais vous devez transmettre les paramètres du serveur de messagerie à cette méthode."

"Par exemple, vous pouvez créer un fichier Mail.properties et le remplir avec les paramètres souhaités, par exemple, quelque chose comme ceci :"

Mail.propriétés
mail.transport.protocol=smtp
mail.host=smtp.gmail.com
mail.smtp.auth=true
mail.user=arnold@gmail.com
mail.password=strong

"Le plus important est de spécifier le protocole et l'hôte, mais vous aurez peut-être besoin de paramètres supplémentaires, selon le fonctionnement du serveur de messagerie."

"Vous pouvez simplement ajouter ces données à un objet Properties directement dans votre code Java."

"Par exemple:"

Créer une connexion avec le serveur de messagerie"
Properties props = new Properties();
props.put("mail.transport.protocol", "smtps");
props.put("mail.smtps.host", “smtp.gmail.com”);
props.put("mail.smtps.auth", "true");
props.put("mail.smtp.sendpartial", "true");

Session session = Session.getDefaultInstance(props);

"Génial, nous avons une session. Maintenant, créons un e-mail."

"C'est plus facile à faire qu'il n'y paraît à première vue. Par exemple :"

Créer un e-mail
// Create a message
MimeMessage message = new MimeMessage(session);

// Set the message subject
message.setSubject("Test email!");

// Add the message text
message.setText("Asta la vista, baby!");

// Specify the recipient
message.addRecipient(Message.RecipientType.TO, new InternetAddress("stalone@gmail.com"));

// Specify the delivery date
message.setSentDate(new Date());

"Je peux spécifier n'importe quelle adresse e-mail en tant que destinataire ?"

"Oui. De plus, vous pouvez également spécifier n'importe quelle adresse e-mail comme expéditeur."

« Cool ! Je vais en tenir compte.

"Maintenant, nous avons juste besoin d'envoyer ce message."

"D'abord, nous nous connectons au serveur, puis nous envoyons notre message. Juste deux lignes de code :"

Envoyer un message
// Username and password for a Gmail account
String userLogin = “arnold@gmail.com”;
String userPassword = “strong”;

// Sign in on the server:
Transport transport = session.getTransport();
transport.connect("smtp.gmail.com", 465, userLogin, userPassword);

// Send a message:
transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));

« Comme c'est intéressant ! Je vais devoir l'essayer.

"Si vous vous demandez comment envoyer un message avec des pièces jointes, vous pouvez en savoir plus ici ."

"Si vous souhaitez également savoir comment recevoir du courrier, veuillez regarder ici ."

"Holy moly. Quels liens utiles !"

« Ouais, je vais créer mon propre client de messagerie maintenant. Cool ! »

« Merci, Élie ! »