Commencez à envoyer votre propre e-mail avec cette API conviviale et le minimum de configuration.
Dans le monde numérique en constante évolution d'aujourd'hui, le marketing par e-mail est un outil essentiel permettant aux entreprises d'atteindre efficacement leurs clients. Cependant, la mise en œuvre d'un système de messagerie peut être un processus complexe et chronophage, en particulier pour les développeurs qui débutent dans la tâche.
Heureusement, avec Sendinblue, envoyer des e-mails est une tâche très facile. En tant que plateforme de logiciel en tant que service (SaaS), Sendinblue fournit tout ce dont vous avez besoin en tant que propriétaire d'entreprise ou développeur pour transmettre très facilement vos e-mails à vos utilisateurs.
Qu'est-ce que Sendinblue?
SendinBlue est une plate-forme logicielle en tant que service (SaaS) qui offre une solution de marketing par e-mail facile à utiliser pour les petites, moyennes et grandes entreprises. SendinBlue fournit une plate-forme qui aide les entreprises à développer leurs relations avec leurs clients, principalement via des services de messagerie et de SMS.
SendinBlue propose également des API et des outils qui permettent aux développeurs d'automatiser et d'envoyer des e-mails et des SMS. Ces outils sont simples à intégrer à Node.js et à d'autres langages de programmation pour créer des campagnes d'e-mails et de SMS personnalisées.
Avec SendinBlue, les entreprises peuvent rationaliser les processus de communication et atteindre les utilisateurs ou les clients plus efficacement.
Comment obtenir les informations d'identification de l'API SendinBlue
Pour utiliser les API et SDK SendinBlue, le premier prérequis est un compte SendinBlue. SendinBlue fournit un processus d'inscription facile et vous pouvez créer un compte sur le Page d'inscription SendinBlue.
Créez un compte, entrez les détails requis et choisissez un plan approprié dans le processus d'intégration. SendinBlue vous redirigera ensuite vers votre tableau de bord où vous pourrez obtenir vos identifiants API.
Pour obtenir vos informations d'identification API, suivez les étapes ci-dessous.
- Cliquez sur le nom de votre organisation dans le coin supérieur droit du tableau de bord.
- Sélectionner SMTP et API dans le menu déroulant.
- Passez à la Clés API onglet et cliquez sur leGénérer une nouvelle clé API bouton.
- Dans la fenêtre contextuelle qui apparaît, donnez un nom à votre clé, copiez la chaîne générée, puis stockez-la en toute sécurité.
Cette chaîne est votre clé API et vos informations d'identification que vous devez stocker avec soin afin qu'elles ne tombent pas entre de mauvaises mains.
Comment créer un système d'envoi d'e-mails dans Node.js
Node.js n'a pas de package de messagerie intégré comme Golang. Pour envoyer des e-mails, vous avez besoin d'un package externe comme nodemailer ou celui fourni par SendinBlue.
Vous aurez également besoin d'une connaissance pratique de Node.js et d'un environnement de développement Node.js sur votre machine.
Considérez cette simple application Node/Express avec un /waitlist point final :
// serveur.js
constante exprimer = exiger('exprimer');// crée le serveur
constante serveur = express();
constante port = 3333;serveur.écoute (port, () => {
console.enregistrer(`serveur en écoute sur le port ${port}`);
})// crée un point de terminaison de liste d'attente
serveur.use('/liste d'attente', asynchrone (req, res) => {
essayer {
constante user = req.body ;
console.enregistrer(`${user.fullname} rejoint la liste d'attente`);
res.statut(200).json({ message: 'A rejoint la liste d'attente avec succès' })
} attraper (erreur) {
console.error (erreur)
res.statut(500).json({ message: 'Une erreur s'est produite' })
}
})
Vous pouvez utiliser SendinBlue pour envoyer un e-mail de bienvenue à un utilisateur qui rejoint la liste d'attente.
La première étape consiste à installer le SDK en utilisant npm ou tout autre gestionnaire de paquets. Courir npm installer sib-api-v3-sdk ou fil ajouter sib-api-v3-sdk dans votre dossier de projet pour l'ajouter aux dépendances du projet.
Après l'installation, vous êtes prêt à commencer à envoyer des e-mails avec seulement quelques lignes de code supplémentaires. Sur un projet plus important, vous souhaiterez probablement isoler la fonctionnalité de messagerie dans un fichier séparé. Cependant, pour cette démonstration, vous pouvez continuer à utiliser le même serveur.js déposer.
Importez le sib-api-v3-sdk package, et configurez le client SendinBlue comme ci-dessous :
constante SibApi = exiger('sib-api-v3-sdk');
// instancie le nouveau client API SendinBlue
constante SibClient = SibApi. ApiClient.instance ;
// Authentification
SibClient.authentifications['clé API'].apiKey = processus.env. SIB_API_KEY
|| "VOTRE_CLE_API_ICI";
Ensuite, configurez une configuration et créez une fonction pour envoyer les e-mails de bienvenue :
constante transactionEmailApi = nouveau SibApiSDK.TransactionalEmailsApi();
laisser smtpMailData = nouveau SibApiSDK.SendSmtpEmail();
constante expéditeur = {
e-mail: '[email protected]', // Votre adresse e-mail
nom: "Exemple d'expéditeur",
};
constante SendWaitlistEmail = asynchrone (userData) => {
}
Le transactionEmailApiLa variable stocke un objet qui vous permet d'envoyer des e-mails de transaction (comme on les appelle sur SendinBlue). Le smtpMailData La variable stockera les données d'e-mail de transaction dont vous aurez besoin pour envoyer chaque e-mail: le destinataire, le contenu, etc.
Passons maintenant au corps du EnvoyerListe d'attenteE-mail fonction. Le code suivant montre à quoi devrait ressembler le corps de la fonction.
constante SendWaitlistEmail = asynchrone (userData) => {
essayer {
smtpMailData.sender = expéditeur ;smtpMailData.to = [{
email: userData.email,
nom: userData.nomcomplet
}];smtpMailData.sujet = 'Vous êtes sur la liste d'attente!';
smtpMailData.params = {
'nom': userData.nomcomplet,
'Twitter': '@se servir de'
};smtpMailData.htmlContent = "
";Bonjour {{ params.name }}, "
+ "Bienvenue sur la liste d'attente makeuseof.com. Nous vous informerons "
+ "lorsque nous lançons. Merci de nous suivre sur Twitter"
+ "{{ params.twitter }}.
// envoyer un e-mail
attendre transactionEmailApi.sendTransacEmail (smtpMailData)
.alors((données) => {
console.log (données) // enregistre l'identifiant de l'e-mail
})
.attraper((erreur) => {
console.error (erreur)
lancernouveauErreur(erreur) // gère les erreurs
})
} attraper (erreur) {
console.enregistrer('Une erreur s'est produite...')
console.error (erreur)
lancernouveauErreur(erreur) // gère les erreurs
}
}
La plupart de ce code renseigne les propriétés clés du smtpMailData objet. Dans l'ordre, ce sont :
- expéditeur: Un objet contenant deux propriétés: email et name. Le code ci-dessus utilise une adresse e-mail factice, mais vous devez utiliser une adresse e-mail réelle et fonctionnelle pour les applications de production.
- pour: Il s'agit d'un tableau de destinataires d'e-mails. Les éléments de ce tableau sont des objets définis avec les données (email et nom) du destinataire de l'email. Vous pouvez avoir jusqu'à 50 destinataires par message. Techniquement, il est possible d'envoyer votre message à plus de 50 à la fois, mais cela augmente le risque que les agents de messagerie le traitent comme du spam.
- sujet: C'est l'objet du mail à envoyer.
- paramètres : Il s'agit de données supplémentaires que vous pouvez utiliser dans différentes parties de votre e-mail (principalement l'objet et le contenu). Vous pouvez utiliser les valeurs de ce paramètres objet en les enfermant dans des accolades doubles (c'est-à-dire {{ params.name }}).
- Contenu html : Cette propriété définit le corps du message. Il aide à définir le corps du message de l'e-mail, que vous pouvez formater à l'aide de HTML. Il a aussi une alternative, textContent, qui conserve le corps du message clair.
L'e-mail peut avoir plus de propriétés, et vous pouvez toutes les découvrir dans La documentation développeur de SendinBlue.
Finalement, le envoyerTransacEmail méthode de transactionEmailApi envoie l'e-mail et renvoie l'identifiant de l'e-mail.
Ayant mis en place le EnvoyerListe d'attenteE-mail fonction, vous pouvez l'appeler dans le point de terminaison de la liste d'attente. Le point de terminaison de la liste d'attente ci-dessus ressemblera désormais à ceci :
serveur.use('/liste d'attente', asynchrone (req, res) => {
essayer {
constante user = req.body ;console.enregistrer(`${user.fullname} rejoint la liste d'attente`);
// appel de la fonction d'envoi d'e-mail
attendre SendWaitlistEmail (utilisateur)
res.statut(200).json({ message: 'A rejoint la liste d'attente avec succès' })
} attraper (erreur) {
console.error (erreur)
res.statut(500).json({ message: 'Une erreur interne du serveur s'est produite' })
}
})
Vous pouvez démarrer votre application et tester votre point de terminaison de liste d'attente dans un client d'API REST ou depuis l'interface de votre application. Voici un exemple de demande de test de Postman.
Voici à quoi ressemble l'e-mail reçu. Notez que les valeurs de la paramètres objet sont présents.
Si vous vérifiez votre terminal, vous verrez également le ID du message imprimé dans la console. Vous pouvez stocker cette valeur dans une base de données ou un journal pour identifier un e-mail particulier.
Vous pouvez également envisager de vérifier certains conseils pour empêcher les e-mails d'aller dans le spam des destinataires.
Bien que ce système de messagerie fonctionne correctement, le fait que le point de terminaison appelle directement la fonction d'expéditeur de l'e-mail n'est pas l'approche la plus efficace. Cela pourrait entraîner une attente inutile de votre application pendant l'envoi de l'e-mail. Pour éviter cela, vous devez optimiser le processus en mise en place d'une file d'attente de tâches pour gérer la charge de travail des e-mails.
L'envoi d'e-mails dans Node.js n'a jamais été aussi simple
Il est satisfaisant de réaliser que vous pouvez créer très facilement un service pour envoyer des e-mails dans Node.js.
Au-delà de la portée de ce guide, vous pouvez faire beaucoup plus avec SendinBlue. Vous pouvez envoyer différentes versions d'e-mails à différents destinataires à la fois, utilisez les modèles d'e-mail fournis par SendinBlue, configurez des webhooks pour détecter les actions de vos destinataires d'emails, et visualisez en temps réel analytique.
Vous pouvez explorer ces fonctionnalités en les vérifiant dans le portail des développeurs et en les implémentant dans vos applications Node.js.