Bibliothèque Nodemailer : envoi d'email en JavaScript (Node.js)
Nodemailer est le module le plus populaire pour envoyer des e-mails depuis des applications Node.js. Il fournit une API simple mais puissante pour travailler avec divers services de messagerie (SMTP, Gmail, Outlook, SendGrid, Amazon SES, etc.). La bibliothèque prend en charge les modèles HTML, les pièces jointes, les flux de données, ainsi que le chiffrement (SSL/TLS).
Pourquoi Nodemailer est-il nécessaire ?
Dans le développement web moderne, l'envoi d'email est une fonctionnalité de base : e-mails d'inscription, réinitialisation de mot de passe, notifications, newsletters. Nodemailer résout les tâches suivantes :
- Travail universel avec n'importe quel serveur SMTP.
- Prise en charge des messages HTML et texte.
- Fichiers joints (images, PDF, archives).
- Transmission en flux de données volumineuses.
- Intégration avec les services populaires (Gmail, Yandex, Mail.ru).
Installation
Installez le module via npm :
npm install nodemailerPour TypeScript en supplément :
npm install @types/nodemailerFonctions principales
- createTransport() — création d'un transport pour la connexion au serveur de messagerie.
- sendMail() — envoi d'un e-mail avec les paramètres (de, à, sujet, corps, pièces jointes).
- verify() — vérification de la connexion au serveur.
- use() — connexion de plugins (par exemple, pour la création de modèles).
Exemple de code en Node.js
const nodemailer = require('nodemailer');
// Configuration du transport (exemple pour Gmail avec App Password)const transporter = nodemailer.createTransport({ service: 'gmail', auth: { user: 'your-email@gmail.com', pass: 'your-app-password' // Pas un mot de passe ordinaire, mais un mot de passe d'application }});
// Fonction d'envoi d'emailasync function sendEmail() { try { const info = await transporter.sendMail({ from: '"Your Name" <your-email@gmail.com>', to: 'recipient@example.com', subject: 'Bonjour depuis Node.js !', html: '<h1>E-mail de test</h1><p>Envoyé via Nodemailer.</p>' }); console.log('E-mail envoyé : %s', info.messageId); } catch (error) { console.error('Erreur d\'envoi :', error); }}
sendEmail();Quand utiliser Nodemailer ?
- Inscription et authentification — envoi d'e-mails de confirmation d'email.
- Notifications — alertes sur les actions de l'utilisateur (commande, commentaire).
- Newsletters — envoi en masse (mais pour de gros volumes, il est préférable d'utiliser SendGrid/Mailgun).
- Débogage — envoi d'e-mails dans un environnement local (via Ethereal ou Mailtrap).
Important : Pour la production, utilisez de vrais serveurs SMTP (SendGrid, Amazon SES, Mailgun) ou configurez votre propre serveur de messagerie. Gmail a des limites (500 e-mails/jour) et nécessite un mot de passe d'application.
Nodemailer est la norme de facto pour l'envoi d'email en Node.js. Il est simple, fiable et dispose d'une large communauté.
Aussi dans la bibliothèque
Travailler avec Excel en JavaScript (Node.js) : bibliothèques et exemples
Traitement d'images en Java : bibliothèques, outils et exemples de code
ORM pour JavaScript (Node.js) : comparaison de Sequelize, TypeORM, Prisma
Génération de PDF en Swift (iOS/macOS) : UIGraphicsPDFRenderer, PDFKit et Core Graphics