nodemailer

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

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/nodemailer

Pour 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.

Recommendations