Un guide pour utiliser SparkPost avec Node.js
Oiseau
1 sept. 2017
1 min read

Points Clés
SparkPost offre plusieurs façons d'envoyer des emails depuis Node.js — appels d'API directs, transport Nodemailer et livraison multi-canal avec notif.me.
Stockez les clés API dans des variables d'environnement, ne les codez jamais en dur. SparkPost détecte automatiquement
SPARKPOST_API_KEY.L'API Transmissions vous offre une flexibilité puissante : modèles, données de substitution, pièces jointes et marquage des campagnes.
Les utilisateurs de Nodemailer peuvent passer instantanément à SparkPost avec le transport officiel — pas besoin de réécrire le code de manière significative.
notif.me offre une livraison multi-canal (email, SMS, push) avec des stratégies de repli, ce qui le rend idéal pour des systèmes de notification robustes.
Node.js s'intègre naturellement avec les API email cloud modernes et les workflows serverless, facilitant l'intégration des capacités email directement dans votre application.
Points forts des Q&A
Quel est le moyen le plus rapide pour commencer à envoyer des emails avec SparkPost en Node.js ?
Installez le paquet
sparkpost, initialisez le client avec une clé API (de préférence via des variables d'environnement), et appelez la méthodetransmissions.send()avec les destinataires + contenu.Do I need to store my SparkPost API key in code?
Non — et vous ne devriez pas. Utilisez des variables d'environnement. Le client lit automatiquement
SPARKPOST_API_KEY.Can I envoyer des emails using templates instead of inline HTML?
Oui. L'API Transmissions prend en charge les modèles enregistrés, les données de substitution, les listes de destinataires, les pièces jointes, cc/bcc, et plus encore.
Que se passe-t-il si j'utilise déjà Nodemailer ?
Vous êtes couvert — SparkPost est livré avec un transport officiel Nodemailer. Configurez-le simplement avec votre clé API et utilisez Nodemailer comme d'habitude.
Can SparkPost fonctionner avec des systèmes de messagerie multi-canaux ?
Oui. Les bibliothèques comme
notifme-sdkpermettent l'envoi d'e-mails, SMS, notifications push, et webpush avec une logique de secours, et elles incluent un fournisseur SparkPost.Node.js est-il adapté pour les flux de travail d'e-mail sans serveur ?
Absolument. Il s'associe bien avec les Cloud Functions, les Lambdas, et tout environnement sans serveur utilisant l'API de SparkPost pour les e-mails déclenchés par des événements.
Qui devrait utiliser le Transmissions API vs. Nodemailer ou notif.me ?
Utilisez Transmissions API lorsque vous souhaitez un contrôle total et des performances optimales.
Utilisez Nodemailer si votre projet l'utilise déjà et que vous souhaitez une intégration rapide.
Utilisez notif.me pour la messagerie multi-canaux ou les stratégies de livraison de secours.
Quelle est la meilleure pratique lorsqu'on envoie des emails depuis Node ?
Traitez votre clé API comme sensible — uniquement des variables d'environnement, ne la commettez jamais dans le code.
Introduction à Node.js
En tant que défenseur des développeurs pour SparkPost, j'écris beaucoup d'applications d'exemples. Mon parcours est principalement le développement front-end, donc ma langue la plus forte est JavaScript. Grâce à Node.js, je suis également un développeur backend décent. En parlant d'applications d'exemples, Node.js fonctionne également très bien pour créer des fonctions serverless qui s'intègrent avec Flow Builder - comme notre guide d'intégration Google Cloud Functions et Vision API. Cela signifie-t-il que je suis maintenant un développeur full stack ? Quoi qu'il en soit, il était important pour moi que nous ayons une bibliothèque client SparkPost géniale pour Node.js. Donc, je me suis lancé à fond et je suis devenu contributeur (même avant d'être embauché).
Permettez-moi de vous aider à commencer à envoyer des e-mails avec SparkPost sur votre projet Node.js. Avant de plonger dans les spécificités de Node.js, vous voudrez peut-être comprendre les fondamentaux des API d'e-mail dans l'infrastructure cloud et comment elles s'intègrent dans le développement d'application moderne.
En tant que défenseur des développeurs pour SparkPost, j'écris beaucoup d'applications d'exemples. Mon parcours est principalement le développement front-end, donc ma langue la plus forte est JavaScript. Grâce à Node.js, je suis également un développeur backend décent. En parlant d'applications d'exemples, Node.js fonctionne également très bien pour créer des fonctions serverless qui s'intègrent avec Flow Builder - comme notre guide d'intégration Google Cloud Functions et Vision API. Cela signifie-t-il que je suis maintenant un développeur full stack ? Quoi qu'il en soit, il était important pour moi que nous ayons une bibliothèque client SparkPost géniale pour Node.js. Donc, je me suis lancé à fond et je suis devenu contributeur (même avant d'être embauché).
Permettez-moi de vous aider à commencer à envoyer des e-mails avec SparkPost sur votre projet Node.js. Avant de plonger dans les spécificités de Node.js, vous voudrez peut-être comprendre les fondamentaux des API d'e-mail dans l'infrastructure cloud et comment elles s'intègrent dans le développement d'application moderne.
En tant que défenseur des développeurs pour SparkPost, j'écris beaucoup d'applications d'exemples. Mon parcours est principalement le développement front-end, donc ma langue la plus forte est JavaScript. Grâce à Node.js, je suis également un développeur backend décent. En parlant d'applications d'exemples, Node.js fonctionne également très bien pour créer des fonctions serverless qui s'intègrent avec Flow Builder - comme notre guide d'intégration Google Cloud Functions et Vision API. Cela signifie-t-il que je suis maintenant un développeur full stack ? Quoi qu'il en soit, il était important pour moi que nous ayons une bibliothèque client SparkPost géniale pour Node.js. Donc, je me suis lancé à fond et je suis devenu contributeur (même avant d'être embauché).
Permettez-moi de vous aider à commencer à envoyer des e-mails avec SparkPost sur votre projet Node.js. Avant de plonger dans les spécificités de Node.js, vous voudrez peut-être comprendre les fondamentaux des API d'e-mail dans l'infrastructure cloud et comment elles s'intègrent dans le développement d'application moderne.
Installing & Setup
Je vais supposer que vous avez Node.js installé. Étant donné que nous suivons le Node.js Long Term Support (LTS) schedule, vous devrez utiliser la version 4 ou supérieure. Vous pouvez voir quelle version vous utilisez avec la commande `node –version` dans votre terminal.
Créons un nouveau projet npm. Si vous en avez déjà un, vous pouvez passer cette partie.
> mkdir sparkpost-test > cd sparkpost-test > npm init --yes
Cela créera un nouveau projet et acceptera tous les paramètres par défaut. Vous pouvez également exécuter `npm init` et répondre à toutes les questions.
Maintenant, nous pouvons installer node-sparkpost :
> npm install sparkpost --save
Une fois installé, vous pouvez importer et créer une instance de la classe SparkPost :
const SparkPost = require('sparkpost') const client = new SparkPost('YOUR API KEY')
C'est une bonne pratique d'éviter de mettre votre clé API dans le code. Nous recommandons fortement de la stocker en dehors de votre code, nous avons donc configuré la bibliothèque client pour détecter la variable d'environnement SPARKPOST_API_KEY.
Je vais supposer que vous avez Node.js installé. Étant donné que nous suivons le Node.js Long Term Support (LTS) schedule, vous devrez utiliser la version 4 ou supérieure. Vous pouvez voir quelle version vous utilisez avec la commande `node –version` dans votre terminal.
Créons un nouveau projet npm. Si vous en avez déjà un, vous pouvez passer cette partie.
> mkdir sparkpost-test > cd sparkpost-test > npm init --yes
Cela créera un nouveau projet et acceptera tous les paramètres par défaut. Vous pouvez également exécuter `npm init` et répondre à toutes les questions.
Maintenant, nous pouvons installer node-sparkpost :
> npm install sparkpost --save
Une fois installé, vous pouvez importer et créer une instance de la classe SparkPost :
const SparkPost = require('sparkpost') const client = new SparkPost('YOUR API KEY')
C'est une bonne pratique d'éviter de mettre votre clé API dans le code. Nous recommandons fortement de la stocker en dehors de votre code, nous avons donc configuré la bibliothèque client pour détecter la variable d'environnement SPARKPOST_API_KEY.
Je vais supposer que vous avez Node.js installé. Étant donné que nous suivons le Node.js Long Term Support (LTS) schedule, vous devrez utiliser la version 4 ou supérieure. Vous pouvez voir quelle version vous utilisez avec la commande `node –version` dans votre terminal.
Créons un nouveau projet npm. Si vous en avez déjà un, vous pouvez passer cette partie.
> mkdir sparkpost-test > cd sparkpost-test > npm init --yes
Cela créera un nouveau projet et acceptera tous les paramètres par défaut. Vous pouvez également exécuter `npm init` et répondre à toutes les questions.
Maintenant, nous pouvons installer node-sparkpost :
> npm install sparkpost --save
Une fois installé, vous pouvez importer et créer une instance de la classe SparkPost :
const SparkPost = require('sparkpost') const client = new SparkPost('YOUR API KEY')
C'est une bonne pratique d'éviter de mettre votre clé API dans le code. Nous recommandons fortement de la stocker en dehors de votre code, nous avons donc configuré la bibliothèque client pour détecter la variable d'environnement SPARKPOST_API_KEY.
Envoyer un Email
Maintenant que vous avez une instance SparkPost, vous êtes prêt à envoyer. Il existe plusieurs options disponibles pour l'envoi, mais commençons par un exemple simple. Voici comment envoyer un e-mail à un seul destinataire, en précisant le contenu en ligne :
client.transmissions.send({ content: { from: 'test@your-sending-domain.com', subject: 'Hello from node-sparkpost', html: '<p>Hello world</p>' }, recipients: [ { address: 'someone@somedomain.com' } ] }) .then(data => { console.log('Woohoo! You just sent your first mailing!') console.log(data) }) .catch(err => { console.log('Whoops! Something went wrong') console.log(err) })
Remarque : Cet exemple utilise des Promesses, mais ne vous inquiétez pas. Nous supportons également les fonctions de rappel.
Pour les applications d'entreprise nécessitant une gestion complète des e-mails, les développeurs peuvent également devoir envisager de construire des systèmes d'archivage des e-mails pour gérer les exigences de stockage et de conformité.
Il existe plus d'options disponibles avec les transmissions, y compris la spécification de modèles stockés ou de listes de destinataires, cc et bcc, l'ajout de pièces jointes, la spécification d'une campagne, l'utilisation de données de substitution, et bien plus encore. Consultez les exemples, les documents pour la ressource Transmissions, et la documentation de l'API Transmissions pour plus d'informations.
Maintenant que vous avez une instance SparkPost, vous êtes prêt à envoyer. Il existe plusieurs options disponibles pour l'envoi, mais commençons par un exemple simple. Voici comment envoyer un e-mail à un seul destinataire, en précisant le contenu en ligne :
client.transmissions.send({ content: { from: 'test@your-sending-domain.com', subject: 'Hello from node-sparkpost', html: '<p>Hello world</p>' }, recipients: [ { address: 'someone@somedomain.com' } ] }) .then(data => { console.log('Woohoo! You just sent your first mailing!') console.log(data) }) .catch(err => { console.log('Whoops! Something went wrong') console.log(err) })
Remarque : Cet exemple utilise des Promesses, mais ne vous inquiétez pas. Nous supportons également les fonctions de rappel.
Pour les applications d'entreprise nécessitant une gestion complète des e-mails, les développeurs peuvent également devoir envisager de construire des systèmes d'archivage des e-mails pour gérer les exigences de stockage et de conformité.
Il existe plus d'options disponibles avec les transmissions, y compris la spécification de modèles stockés ou de listes de destinataires, cc et bcc, l'ajout de pièces jointes, la spécification d'une campagne, l'utilisation de données de substitution, et bien plus encore. Consultez les exemples, les documents pour la ressource Transmissions, et la documentation de l'API Transmissions pour plus d'informations.
Maintenant que vous avez une instance SparkPost, vous êtes prêt à envoyer. Il existe plusieurs options disponibles pour l'envoi, mais commençons par un exemple simple. Voici comment envoyer un e-mail à un seul destinataire, en précisant le contenu en ligne :
client.transmissions.send({ content: { from: 'test@your-sending-domain.com', subject: 'Hello from node-sparkpost', html: '<p>Hello world</p>' }, recipients: [ { address: 'someone@somedomain.com' } ] }) .then(data => { console.log('Woohoo! You just sent your first mailing!') console.log(data) }) .catch(err => { console.log('Whoops! Something went wrong') console.log(err) })
Remarque : Cet exemple utilise des Promesses, mais ne vous inquiétez pas. Nous supportons également les fonctions de rappel.
Pour les applications d'entreprise nécessitant une gestion complète des e-mails, les développeurs peuvent également devoir envisager de construire des systèmes d'archivage des e-mails pour gérer les exigences de stockage et de conformité.
Il existe plus d'options disponibles avec les transmissions, y compris la spécification de modèles stockés ou de listes de destinataires, cc et bcc, l'ajout de pièces jointes, la spécification d'une campagne, l'utilisation de données de substitution, et bien plus encore. Consultez les exemples, les documents pour la ressource Transmissions, et la documentation de l'API Transmissions pour plus d'informations.
Bonus : Envoyer un Email avec Nodemailer
Nodemailer est une bibliothèque populaire pour Node.js qui rend l'envoi d'e-mails "aussi simple que gâteau." Pour ceux d'entre vous qui choisissent d'utiliser cette bibliothèque, nous avons créé un transport SparkPost pour Nodemailer. Vous devrez installer les paquets nodemailer et nodemailer-sparkpost-transport dans votre projet.
> npm install nodemailer nodemailer-sparkpost-transport --save
Maintenant, vous pouvez créer une instance de transport nodemailer :
const nodemailer = require('nodemailer') const sparkPostTransport = require('nodemailer-sparkpost-transport') const transporter = nodemailer.createTransport(sparkPostTransport({ 'sparkPostApiKey': process.env.SPARKPOST_API_KEY }))
Remarquez comment je lis la clé API depuis une variable d'environnement. Il est toujours préférable de ne jamais la mettre directement dans votre code.
Il existe plusieurs options qui peuvent être passées dans le transport SparkPost, comme l'id de campagne et si le message est transactionnel ou non. Consultez le README.md pour toutes les options.
Voici comment vous enverriez le même message ci-dessus en utilisant Nodemailer :
transporter.sendMail( { from: 'test@your-sending-domain.com', to: 'someone@somedomain.com', subject: 'Hello from nodemailer-sparkpost-transport', html: '<p>Hello world</p>' }, (err, info) => { if (err) { console.error(err); } else { console.log(info); } } );
Nodemailer est une bibliothèque populaire pour Node.js qui rend l'envoi d'e-mails "aussi simple que gâteau." Pour ceux d'entre vous qui choisissent d'utiliser cette bibliothèque, nous avons créé un transport SparkPost pour Nodemailer. Vous devrez installer les paquets nodemailer et nodemailer-sparkpost-transport dans votre projet.
> npm install nodemailer nodemailer-sparkpost-transport --save
Maintenant, vous pouvez créer une instance de transport nodemailer :
const nodemailer = require('nodemailer') const sparkPostTransport = require('nodemailer-sparkpost-transport') const transporter = nodemailer.createTransport(sparkPostTransport({ 'sparkPostApiKey': process.env.SPARKPOST_API_KEY }))
Remarquez comment je lis la clé API depuis une variable d'environnement. Il est toujours préférable de ne jamais la mettre directement dans votre code.
Il existe plusieurs options qui peuvent être passées dans le transport SparkPost, comme l'id de campagne et si le message est transactionnel ou non. Consultez le README.md pour toutes les options.
Voici comment vous enverriez le même message ci-dessus en utilisant Nodemailer :
transporter.sendMail( { from: 'test@your-sending-domain.com', to: 'someone@somedomain.com', subject: 'Hello from nodemailer-sparkpost-transport', html: '<p>Hello world</p>' }, (err, info) => { if (err) { console.error(err); } else { console.log(info); } } );
Nodemailer est une bibliothèque populaire pour Node.js qui rend l'envoi d'e-mails "aussi simple que gâteau." Pour ceux d'entre vous qui choisissent d'utiliser cette bibliothèque, nous avons créé un transport SparkPost pour Nodemailer. Vous devrez installer les paquets nodemailer et nodemailer-sparkpost-transport dans votre projet.
> npm install nodemailer nodemailer-sparkpost-transport --save
Maintenant, vous pouvez créer une instance de transport nodemailer :
const nodemailer = require('nodemailer') const sparkPostTransport = require('nodemailer-sparkpost-transport') const transporter = nodemailer.createTransport(sparkPostTransport({ 'sparkPostApiKey': process.env.SPARKPOST_API_KEY }))
Remarquez comment je lis la clé API depuis une variable d'environnement. Il est toujours préférable de ne jamais la mettre directement dans votre code.
Il existe plusieurs options qui peuvent être passées dans le transport SparkPost, comme l'id de campagne et si le message est transactionnel ou non. Consultez le README.md pour toutes les options.
Voici comment vous enverriez le même message ci-dessus en utilisant Nodemailer :
transporter.sendMail( { from: 'test@your-sending-domain.com', to: 'someone@somedomain.com', subject: 'Hello from nodemailer-sparkpost-transport', html: '<p>Hello world</p>' }, (err, info) => { if (err) { console.error(err); } else { console.log(info); } } );
Double Bonus : Sending Email with notif.me
Nous savons tous que l'email est le roi de la communication, mais parfois vous voulez pouvoir atteindre les gens via plusieurs canaux. notif.me est une bibliothèque Node.js pour envoyer toutes sortes de messages transactionnels. Que vous souhaitiez envoyer un email, un sms, un push ou des webpushes, vous pouvez le faire facilement. Il dispose également de stratégies de repli et de round robin intégrées pour plusieurs fournisseurs. Nous avons récemment travaillé avec les créateurs pour construire un fournisseur SparkPost. Vous devrez installer le package `notifme-sdk` dans votre projet.
> npm install notifme-sdk --save
Vous pouvez maintenant créer une instance notifme avec le fournisseur SparkPost :
const NotifmeSdk = require('notifme-sdk').default; const notifmeSdk = new NotifmeSdk({ channels: { email: { providers: [ { type: 'sparkpost', apiKey: process.env.SPARKPOST_API_KEY } ] } } });
Encore une fois, nous récupérons la clé API à partir d'une variable d'environnement. Nous l'avons dit trois fois - c'est important. 🙂
Maintenant, répétons ce même exemple, cette fois en utilisant notif.me :
notifmeSdk.send({ email: { from: 'test@your-sending-domain.com', to: 'someone@somedomain.com', subject: 'Hello from the SparkPost notif.me provider', html: '<p>Hello world</p>' } }) .then(console.log) .catch(console.error);
C'est vraiment facile à utiliser et je recommande de regarder les autres fonctionnalités.
Comparaison des options d'envoi d'e-mails dans Node.js
Méthode | Packages Requis | Gestion des Clés API | Meilleur Pour | Remarques |
|---|---|---|---|---|
SparkPost API (node-sparkpost) | sparkpost | Utilise la variable d'environnement | Contrôle direct de l'API, accès complet aux fonctionnalités de Transmissions | Le plus flexible; prend en charge les modèles, les données de substitution, les pièces jointes, les campagnes |
Nodemailer + SparkPost Transport | nodemailer, nodemailer-sparkpost-transport | Utilise la variable d'environnement dans la configuration du transport | Développeurs utilisant déjà Nodemailer | Chemin de migration le plus facile; changements de code minimes |
notif.me + SparkPost Provider | notifme-sdk | Utilise la variable d'environnement dans la configuration du fournisseur | Messagerie multi-canal (email, SMS, push) | Inclut des stratégies de repli + round-robin entre fournisseurs |
Nous savons tous que l'email est le roi de la communication, mais parfois vous voulez pouvoir atteindre les gens via plusieurs canaux. notif.me est une bibliothèque Node.js pour envoyer toutes sortes de messages transactionnels. Que vous souhaitiez envoyer un email, un sms, un push ou des webpushes, vous pouvez le faire facilement. Il dispose également de stratégies de repli et de round robin intégrées pour plusieurs fournisseurs. Nous avons récemment travaillé avec les créateurs pour construire un fournisseur SparkPost. Vous devrez installer le package `notifme-sdk` dans votre projet.
> npm install notifme-sdk --save
Vous pouvez maintenant créer une instance notifme avec le fournisseur SparkPost :
const NotifmeSdk = require('notifme-sdk').default; const notifmeSdk = new NotifmeSdk({ channels: { email: { providers: [ { type: 'sparkpost', apiKey: process.env.SPARKPOST_API_KEY } ] } } });
Encore une fois, nous récupérons la clé API à partir d'une variable d'environnement. Nous l'avons dit trois fois - c'est important. 🙂
Maintenant, répétons ce même exemple, cette fois en utilisant notif.me :
notifmeSdk.send({ email: { from: 'test@your-sending-domain.com', to: 'someone@somedomain.com', subject: 'Hello from the SparkPost notif.me provider', html: '<p>Hello world</p>' } }) .then(console.log) .catch(console.error);
C'est vraiment facile à utiliser et je recommande de regarder les autres fonctionnalités.
Comparaison des options d'envoi d'e-mails dans Node.js
Méthode | Packages Requis | Gestion des Clés API | Meilleur Pour | Remarques |
|---|---|---|---|---|
SparkPost API (node-sparkpost) | sparkpost | Utilise la variable d'environnement | Contrôle direct de l'API, accès complet aux fonctionnalités de Transmissions | Le plus flexible; prend en charge les modèles, les données de substitution, les pièces jointes, les campagnes |
Nodemailer + SparkPost Transport | nodemailer, nodemailer-sparkpost-transport | Utilise la variable d'environnement dans la configuration du transport | Développeurs utilisant déjà Nodemailer | Chemin de migration le plus facile; changements de code minimes |
notif.me + SparkPost Provider | notifme-sdk | Utilise la variable d'environnement dans la configuration du fournisseur | Messagerie multi-canal (email, SMS, push) | Inclut des stratégies de repli + round-robin entre fournisseurs |
Nous savons tous que l'email est le roi de la communication, mais parfois vous voulez pouvoir atteindre les gens via plusieurs canaux. notif.me est une bibliothèque Node.js pour envoyer toutes sortes de messages transactionnels. Que vous souhaitiez envoyer un email, un sms, un push ou des webpushes, vous pouvez le faire facilement. Il dispose également de stratégies de repli et de round robin intégrées pour plusieurs fournisseurs. Nous avons récemment travaillé avec les créateurs pour construire un fournisseur SparkPost. Vous devrez installer le package `notifme-sdk` dans votre projet.
> npm install notifme-sdk --save
Vous pouvez maintenant créer une instance notifme avec le fournisseur SparkPost :
const NotifmeSdk = require('notifme-sdk').default; const notifmeSdk = new NotifmeSdk({ channels: { email: { providers: [ { type: 'sparkpost', apiKey: process.env.SPARKPOST_API_KEY } ] } } });
Encore une fois, nous récupérons la clé API à partir d'une variable d'environnement. Nous l'avons dit trois fois - c'est important. 🙂
Maintenant, répétons ce même exemple, cette fois en utilisant notif.me :
notifmeSdk.send({ email: { from: 'test@your-sending-domain.com', to: 'someone@somedomain.com', subject: 'Hello from the SparkPost notif.me provider', html: '<p>Hello world</p>' } }) .then(console.log) .catch(console.error);
C'est vraiment facile à utiliser et je recommande de regarder les autres fonctionnalités.
Comparaison des options d'envoi d'e-mails dans Node.js
Méthode | Packages Requis | Gestion des Clés API | Meilleur Pour | Remarques |
|---|---|---|---|---|
SparkPost API (node-sparkpost) | sparkpost | Utilise la variable d'environnement | Contrôle direct de l'API, accès complet aux fonctionnalités de Transmissions | Le plus flexible; prend en charge les modèles, les données de substitution, les pièces jointes, les campagnes |
Nodemailer + SparkPost Transport | nodemailer, nodemailer-sparkpost-transport | Utilise la variable d'environnement dans la configuration du transport | Développeurs utilisant déjà Nodemailer | Chemin de migration le plus facile; changements de code minimes |
notif.me + SparkPost Provider | notifme-sdk | Utilise la variable d'environnement dans la configuration du fournisseur | Messagerie multi-canal (email, SMS, push) | Inclut des stratégies de repli + round-robin entre fournisseurs |
Il n’y a pas de mauvaise façon de Node
En ce qui concerne l'envoi d'e-mails avec Node.js, vous avez de nombreuses options. Nous avons travaillé dur pour rendre cela aussi simple que possible.
En ce qui concerne l'envoi d'e-mails avec Node.js, vous avez de nombreuses options. Nous avons travaillé dur pour rendre cela aussi simple que possible.
En ce qui concerne l'envoi d'e-mails avec Node.js, vous avez de nombreuses options. Nous avons travaillé dur pour rendre cela aussi simple que possible.



