Bibliothèque nodemailer pour l'envoi d'e-mails en TypeScript
nodemailer est une bibliothèque puissante et populaire pour Node.js, écrite en TypeScript, qui permet d'envoyer facilement des e-mails depuis des applications serveur. Elle prend en charge tous les protocoles modernes (SMTP, SES, Sendmail) et les formats d'e-mails (HTML, texte, pièces jointes).
Pourquoi utiliser nodemailer ?
Dans le développement web, il est souvent nécessaire d'envoyer des notifications, des confirmations d'inscription, des réinitialisations de mot de passe ou des newsletters marketing. nodemailer résout ce problème en fournissant une API simple et flexible pour travailler avec les serveurs de messagerie. Grâce au typage TypeScript, le code devient plus fiable et prévisible.
Installation
Installez le package via npm ou yarn :
npm install nodemailernpm install -D @types/nodemailerPour TypeScript, installez impérativement le package avec les types.
Fonctionnalités principales
- Support SMTP — fonctionne avec n'importe quel serveur SMTP (Gmail, Yandex, Mailgun, SendGrid).
- E-mails HTML et texte — possibilité d'envoyer du texte simple ou des messages HTML formatés.
- Pièces jointes — prise en charge des fichiers, images et pièces jointes inline.
- Flux — possibilité d'envoyer des fichiers volumineux via des streams.
- Sécurité — support de TLS/SSL, OAuth2.
- Pool de connexions — optimisation pour les envois en masse.
Exemple de code en TypeScript
Exemple simple d'envoi d'e-mail via Gmail SMTP :
import nodemailer from 'nodemailer';
async function sendEmail() { const transporter = nodemailer.createTransport({ host: 'smtp.gmail.com', port: 587, secure: false, // true pour 465 auth: { user: 'your-email@gmail.com', pass: 'your-password', }, });
const info = await transporter.sendMail({ from: '"Sender Name" <your-email@gmail.com>', to: 'recipient@example.com', subject: 'Bonjour depuis TypeScript !', text: 'Ceci est le texte de l\\'e-mail.', html: '<b>Ceci est un e-mail HTML</b>', });
console.log('E-mail envoyé :', info.messageId);}
sendEmail().catch(console.error);Quand utiliser nodemailer
La bibliothèque est idéale pour :
- Les applications backend sur Node.js/Express/NestJS.
- Les notifications automatiques (inscription, commandes, erreurs).
- La confirmation d'adresses e-mail.
- L'envoi d'e-mails transactionnels.
- L'intégration avec n'importe quel fournisseur SMTP.
Si vous devez envoyer des e-mails avec des pièces jointes, des modèles HTML ou via des services externes (SendGrid, Mailgun), nodemailer est le standard de facto dans l'écosystème Node.js.
Important : Pour la production, utilisez des variables d'environnement pour stocker les mots de passe et configurer OAuth2, afin de ne pas divulguer les informations d'identification dans le code.
Aussi dans la bibliothèque
SwiftConfig: Gestion de configuration d'applications en Swift
ORM pour Rust : comparaison de Diesel, SeaORM, SQLx et exemples de code
GraphQL en TypeScript : Bibliothèques pour des API typés sécurisés
Métriques Prometheus en Rust : bibliothèques prometheus et metrics-exporter-prometheus
Configuration des applications C# (.NET) : bibliothèques et approches