Ajoute le contenu après un élément
Apprenez comment envoyer des emails avec ExpressJS et Nodemailer dans ce tutoriel simple pour débutants. Exemple pratique inclus
Dans ce tutoriel, nous allons apprendre à envoyer des emails depuis une application ExpressJS, par exemple pour envoyer une confirmation ou une notification. Ce guide est conçu pour les débutants : nous irons doucement, étape par étape, avec des explications très simples et un exemple que vous pourrez tester. Nous utiliserons nodemailer, un module qui facilite l’envoi d’emails.
Envoyer des emails, c’est comme poster une lettre depuis votre application : vous pouvez dire "Merci de vous être inscrit !" ou "Voici votre reçu". Avec ExpressJS et nodemailer
, c’est aussi simple que d’écrire un message et de le confier à un facteur numérique.
Avant de coder, préparons tout ce qu’il faut. Si vous avez suivi les tutoriels précédents, vous avez déjà Node.js et ExpressJS. Voici les étapes :
node -v
. Si une version apparaît (ex. : v16.13.0), c’est bon. Sinon, téléchargez Node.js sur nodejs.org.cd chemin/vers/envoi-emails
, puis tapez npm init -y
. Cela crée un fichier package.json
.npm install express nodemailer
. nodemailer
est notre "facteur" pour envoyer les emails.Pour envoyer des emails, il faut un service comme Gmail. Voici comment utiliser Gmail (vous pouvez adapter pour un autre service) :
Attention : Ne partagez jamais ce mot de passe publiquement !
Construisons une application avec une route pour envoyer un email simple.
Créez un fichier nommé app.js
dans votre dossier "envoi-emails" et ajoutez ce code :
var express = require('express'); var nodemailer = require('nodemailer'); var app = express(); // Configurer Nodemailer avec Gmail var transporter = nodemailer.createTransport({ service: 'gmail', auth: { user: 'votre.email@gmail.com', // Remplacez par votre email pass: 'abcd efgh ijkl mnop' // Remplacez par votre mot de passe d’application } }); // Route pour envoyer un email app.get('/envoyer-email', function(req, res) { var mailOptions = { from: 'votre.email@gmail.com', // Votre email to: 'destinataire@example.com', // Email de test (peut être le vôtre) subject: 'Test depuis ExpressJS', text: 'Ceci est un email envoyé avec Nodemailer !' }; transporter.sendMail(mailOptions, function(error, info) { if (error) { console.log(error); res.send('Erreur lors de l’envoi : ' + error.message); } else { console.log('Email envoyé : ' + info.response); res.send('Email envoyé avec succès !'); } }); }); // Route principale app.get('/', function(req, res) { res.send('Visitez /envoyer-email pour tester !'); }); app.listen(3000, function() { console.log('Serveur démarré sur http://localhost:3000'); });
Voici chaque partie expliquée très simplement :
service: 'gmail'
: Utilise Gmail.auth
: Vos identifiants (email et mot de passe d’application).mailOptions
: Détails de l’email (expéditeur, destinataire, sujet, texte).transporter.sendMail(...)
: Envoie l’email et vérifie si ça marche.Démarrez le serveur avec node app.js
dans le terminal, puis testez :
Si ça échoue, vérifiez le terminal pour l’erreur (ex. : mot de passe incorrect) et ajustez vos identifiants.
Félicitations ! Vous savez maintenant envoyer des emails avec ExpressJS et nodemailer
. Votre application peut communiquer par email facilement. C’est le dernier tutoriel de notre série sur express.js! Revoyez les précédents ou explorez la documentation Nodemailer pour aller plus loin.