Qu'est-ce que Nodemailer et pourquoi en avez-vous besoin ?
Nodemailer est le module le plus populaire pour envoyer des e-mails dans l'environnement Node.js. Écrit en JavaScript, il fonctionne parfaitement avec TypeScript grâce à ses types intégrés (DefinitelyTyped). La bibliothèque permet d'envoyer des e-mails via SMTP, Sendmail, Amazon SES et d'autres transports. Dans les projets TypeScript, Nodemailer assure un typage strict de toutes les options, ce qui réduit le nombre d'erreurs lors de la compilation.
Installation
Pour l'installation, exécutez la commande :
npm install nodemailer @types/nodemailerLe paquet @types/nodemailer ajoute les déclarations de types nécessaires pour TypeScript.
Fonctionnalités principales
- Envoi d'e-mails via SMTP — prise en charge de Gmail, Yandex, Mail.ru, SendGrid et de tout autre serveur SMTP.
- Pièces jointes — possibilité de joindre des fichiers, des images, des PDF.
- Modèles HTML — envoi d'e-mails avec un contenu HTML formaté.
- Prise en charge de SSL/TLS — transmission sécurisée des données.
- Pool de connexions — optimisation pour les envois en masse.
Exemple de code en TypeScript
Voici un exemple minimal d'envoi d'e-mail via Gmail SMTP en utilisant TypeScript :
import nodemailer from 'nodemailer';
interface MailOptions { from: string; to: string; subject: string; text?: string; html?: string;}
async function sendEmail(options: MailOptions): Promise<void> { const transporter = nodemailer.createTransport({ service: 'gmail', auth: { user: 'your@gmail.com', pass: 'your-app-password', }, });
const info = await transporter.sendMail(options); console.log('E-mail envoyé :', info.messageId);}
// UtilisationsendEmail({ from: 'your@gmail.com', to: 'recipient@example.com', subject: 'Bonjour depuis TypeScript !', html: '<h1>E-mail de test</h1><p>Envoyé avec Nodemailer</p>',});Important : Pour Gmail, vous devez utiliser un mot de passe d'application (App Password), et non un mot de passe ordinaire.
Quand utiliser Nodemailer ?
La bibliothèque est adaptée pour :
- Les e-mails d'inscription (confirmation d'e-mail, réinitialisation de mot de passe).
- Les notifications de commandes dans les boutiques en ligne.
- Les envois de newsletters et d'e-mails marketing (en utilisant des files d'attente).
- Les rapports automatiques depuis le backend (logs, erreurs, statistiques).
Si vous avez besoin d'envoyer des e-mails dans un projet TypeScript — Nodemailer reste le standard de facto grâce à sa flexibilité, sa fiabilité et son immense communauté.
Aussi dans la bibliothèque
go-playground/validator | Validation des données en Go
Envoi d'Email en Java : bibliothèques JavaMail et Simple Java Mail