SMTP pour Node.js — le courrier de votre application qui arrive
Node.js n'a pas de fonction mail intégrée ; presque toutes les applications utilisent Nodemailer pour cela. Cette bibliothèque simplifie l'envoi, mais ne dit rien de la délivrabilité : celle-ci dépend entièrement du serveur SMTP par lequel vous envoyez.
Nodemailer fonctionne avec un transport. Vous créez un transport SMTP avec les données de votre relais — hôte, port, chiffrement et identifiant — et le reste de votre code demeure inchangé. Ce qui part aujourd'hui via un serveur local ou un compte de test passe demain par 2mail.
Pourquoi cela coince sans relais
Une application Node.js envoie typiquement des e-mails au moment où cela compte : un code de vérification, une réinitialisation de mot de passe, une confirmation de réservation. Ce sont des messages attendus en quelques secondes. S'ils partent d'un serveur sans réputation, une partie n'arrive pas ou arrive trop tard — et l'utilisateur clique sur « renvoyer » jusqu'à abandonner.
Configurer le SMTP dans Node.js
Récupérer les données
Connectez-vous à votre compte 2mail et récupérez-y votre serveur SMTP, votre nom d'utilisateur et votre mot de passe.
Compléter dans Node.js
Créez un transport SMTP dans Nodemailer. Indiquez comme hôte le serveur SMTP de 2mail et comme port 587, et désactivez l'option secure afin que la connexion soit mise à niveau via STARTTLS. Sous auth, renseignez le nom d'utilisateur et le mot de passe de votre identifiant 2mail. Lisez ces données depuis des variables d'environnement, pas depuis le code. Nodemailer dispose d'une méthode verify pour contrôler la connexion avant d'envoyer le premier vrai message — utilisez-la.
Authentifier le domaine
Veillez à ce que SPF, DKIM et DMARC soient correctement configurés pour votre domaine, afin que les destinataires puissent vérifier que le courrier vient bien de vous.
Tester
Envoyez un message de test vers une adresse chez un grand fournisseur et vérifiez qu'il arrive dans la boîte de réception et non dans les indésirables.
Les champs que Node.js demande
Chaque plateforme les nomme un peu différemment, mais il s'agit toujours des mêmes cinq champs. Les valeurs concrètes sont liées à votre compte et se trouvent dans votre compte 2mail — relevez-les à cet endroit, afin d'être certain d'utiliser les bonnes.
| Champ | Ce que vous indiquez |
|---|---|
| Serveur SMTP (host) | Le nom de serveur figurant dans votre compte 2mail. |
| Port | Le port correspondant au chiffrement que vous avez choisi ; votre compte indique lequel. |
| Chiffrement | TLS. N'envoyez jamais sans chiffrement — vos identifiants circuleraient sinon en clair sur le réseau. |
| Nom d'utilisateur | L'identifiant SMTP de votre compte 2mail. |
| Mot de passe | Le mot de passe correspondant. N'utilisez jamais le mot de passe de la boîte aux lettres d'un collaborateur. |
Les e-mails que Node.js envoie
Dès que le relais est configuré, tous ces messages passent par 2mail — vous ne devez pas les configurer un par un.
Pièges avec Node.js
secure et port doivent correspondre
L'option secure ne signifie pas « sûr ou non sûr », mais « TLS dès le premier octet ». Sur le port 587, secure doit être désactivé — STARTTLS suit ensuite. Si vous l'activez malgré tout, la connexion reste bloquée ou est aussitôt coupée, sans erreur claire.
Un seul transport, réutilisé
Créez le transport une seule fois au démarrage et réutilisez-le, au lieu d'en créer un nouveau par message. Lors d'un pic — une tournée de rappels, une campagne — vous ouvrez sinon des centaines de connexions à la fois, ce qu'un relais peut interpréter comme un abus. Nodemailer sait mutualiser les connexions ; activez-le pour les volumes importants.
Attendez le résultat et journalisez-le
L'envoi est asynchrone. Qui n'attend pas la réponse du serveur ou ne la journalise pas ne verra jamais qu'un message a été refusé. Journalisez au minimum l'identifiant du message et l'éventuel refus, et connectez de préférence les webhooks de 2mail pour la livraison et les bounces, afin de voir aussi ce qui échoue après la remise.
Une autre plateforme ?
SMTP est un protocole standard : tout système qui parle SMTP — un CRM, un ERP, une application maison ou un serveur — peut envoyer via 2mail avec les mêmes cinq champs.