
En tant qu'Advocate Développeur pour SparkPost, j'écris beaucoup d'applications de démonstration. Mon expérience est principalement en développement front-end, donc ma langue la plus forte est le JavaScript. Grâce à Node.js, je suis également un développeur back-end compétent. Cela signifie-t-il que je suis maintenant un développeur full stack ?
Introduction à Node.js
En tant que Developer Advocate pour SparkPost, j'écris beaucoup d'applications d'exemple. Mon expérience est principalement dans le développement front-end, donc ma langue la plus forte est JavaScript. Grâce à Node.js, je suis aussi un développeur backend décent. En parlant d'applications d'exemple, Node.js fonctionne également très bien pour construire des fonctions serverless qui s'intègrent avec Flow Builder - comme notre guide d'intégration Google Cloud Functions and 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. Alors, j'ai plongé dedans et suis devenu contributeur (même avant d'être embauché).
Permettez-moi de vous aider à démarrer l'envoi d'emails 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'email dans l'infrastructure cloud et comment ils s'intègrent dans le développement d'applications modernes.
Installation & Setup
Envoi d'Email
Maintenant que vous avez une instance de SparkPost, vous êtes prêt à envoyer. Il existe plusieurs options disponibles pour l'envoi, mais commençons par un exemple simple. Voici comment vous envoyez un e-mail à un seul destinataire, en spécifiant le contenu en ligne :
Remarque : Cet exemple utilise des Promises, 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 avoir besoin de prendre en compte la construction de systèmes d'archivage d'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'infos.
Bonus : Envoyer un Email avec Nodemailer
Nodemailer est une bibliothèque populaire pour Node.js qui rend l'envoi d'e-mails « aussi simple qu'un jeu ». Pour ceux d'entre vous qui choisissent d'utiliser cette bibliothèque, nous avons créé un transport SparkPost pour Nodemailer. Vous devrez installer les packages 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:
Notez comment je lis la clé API à partir d'une variable d'environnement. C'est toujours une bonne pratique de ne jamais la mettre directement dans votre code.
Il existe plusieurs options pouvant être passées dans le transport SparkPost, comme l'identifiant 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 :
Double Bonus : Envoyer un email avec notif.me
Nous savons tous que l'email est roi de la communication, mais parfois vous souhaitez 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, une notification push ou des notifications web, vous pouvez le faire facilement. Il possède également des stratégies intégrées de secours et de répartition pour plusieurs fournisseurs. Nous avons récemment travaillé avec les créateurs pour créer 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 :
Encore une fois, nous tirons la clé API d'une variable d'environnement. Nous l'avons dit trois fois — c'est tellement important. 🙂
Maintenant, répétons cet exemple, cette fois en utilisant notif.me :
C'est vraiment facile à utiliser et je recommande de regarder les autres fonctionnalités.
Il n'y a pas de mauvaise façon de Node
Quand il s'agit d'envoyer des emails en utilisant Node.js, vous avez plusieurs options. Nous avons travaillé dur pour aider à rendre cela aussi indolore que possible.