2mail — relais SMTP depuis une infrastructure belge

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

1

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.

2

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.

3

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.

4

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.
PortLe port correspondant au chiffrement que vous avez choisi ; votre compte indique lequel.
ChiffrementTLS. N'envoyez jamais sans chiffrement — vos identifiants circuleraient sinon en clair sur le réseau.
Nom d'utilisateurL'identifiant SMTP de votre compte 2mail.
Mot de passeLe 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.

Codes de vérification et confirmations d'adresse à l'inscription
Réinitialisation de mot de passe et notifications de connexion
Confirmations de réservations, de commandes ou de paiements
Notifications issues de tâches de fond et de files d'attente
Rapports d'erreur et alertes de monitoring vers les administrateurs

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.

SPF, DKIM & DMARC expliqués À propos de la délivrabilité

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.

Questions fréquentes sur le SMTP pour Node.js

Nodemailer envoie, mais ne fournit pas la délivrabilité : celle-ci dépend du serveur SMTP par lequel vous envoyez. Un serveur local ou une machine cloud toute neuve n'a ni authentification ni réputation, et une partie de vos e-mails de vérification et de réinitialisation finit alors dans les indésirables. Un relais avec SPF, DKIM et DMARC règle le problème.
Créez un transport SMTP avec l'hôte du relais, le port 587, secure désactivé (STARTTLS) et, sous auth, votre nom d'utilisateur et votre mot de passe. Conservez ces données dans des variables d'environnement. Appelez la méthode verify pour tester la connexion avant d'envoyer le premier vrai message.
Désactivé. 2Mail fonctionne sur le port 587 : la connexion démarre normalement et passe en TLS via STARTTLS. Si vous l'activez malgré tout, votre client attend TLS dès le premier octet et vous obtenez une erreur de connexion ou une connexion qui reste bloquée.
Pour du code existant avec Nodemailer, SMTP est la voie la plus rapide : seul le transport change. Si vous envoyez de gros volumes ou voulez traiter l'état de livraison et les bounces dans votre application, l'API e-mail de 2mail offre par application une clé API et des webhooks signés. Les deux peuvent coexister.
Appelez-nous
Envoyer un e-mail