Inizia a inviare la tua e-mail con questa API amichevole e il minimo di configurazione.

Nel frenetico mondo digitale di oggi, l'email marketing è uno strumento essenziale per le aziende per raggiungere i propri clienti in modo efficace. Tuttavia, l'implementazione di un sistema di posta elettronica può essere un processo complesso e dispendioso in termini di tempo, soprattutto per gli sviluppatori alle prime armi.

Fortunatamente, con Sendinblue, inviare e-mail è un compito molto semplice. Come piattaforma software-as-a-service (SaaS), Sendinblue fornisce tutto ciò di cui hai bisogno come imprenditore o sviluppatore per trasmettere le tue e-mail ai tuoi utenti molto facilmente.

Cos'è Sendinblue?

SendinBlue è una piattaforma software-as-a-service (SaaS) che offre una soluzione di email marketing facile da usare per le piccole, medie e grandi imprese. SendinBlue fornisce una piattaforma che aiuta le aziende a far crescere le relazioni con i propri clienti, principalmente attraverso servizi di posta elettronica e SMS.

instagram viewer

SendinBlue offre anche API e strumenti che consentono agli sviluppatori di automatizzare e inviare e-mail e SMS. Questi strumenti sono semplici da integrare con Node.js e altri linguaggi di programmazione per creare campagne e-mail e SMS personalizzate.

Con SendinBlue, le aziende possono semplificare i processi di comunicazione e raggiungere utenti o clienti in modo più efficiente.

Come ottenere le credenziali API di SendinBlue

Per utilizzare le API e gli SDK di SendinBlue, il primo prerequisito è un account SendinBlue. SendinBlue fornisce un semplice processo di registrazione e puoi creare un account su Pagina di registrazione SendinBlue.

Crea un account, inserisci i dettagli richiesti e scegli un piano adatto nel processo di onboarding. SendinBlue ti reindirizzerà quindi alla tua dashboard dove potrai ottenere le tue credenziali API.

Per ottenere le tue credenziali API, procedi nel seguente modo.

  1. Fai clic sul nome della tua organizzazione nell'angolo in alto a destra della dashboard.
  2. Selezionare SMTP e API dal menu che scende.
  3. Passa al Chiavi API scheda e fare clic sulGenera una nuova chiave API pulsante.
  4. Nel popup che appare, dai un nome alla tua chiave, copia la stringa generata, quindi salvala in modo sicuro.

Questa stringa è la tua chiave API e la tua credenziale di identità che dovresti conservare con cura in modo che non cada nelle mani sbagliate.

Come costruire un sistema di invio di e-mail in Node.js

Node.js non ha a pacchetto di posta elettronica integrato come Golang. Per inviare e-mail, è necessario un pacchetto esterno come nodemailer o quello fornito da SendinBlue.

Avrai anche bisogno di una conoscenza pratica di Node.js e di un ambiente di sviluppo Node.js sulla tua macchina.

Considera questa semplice applicazione Node/Express con a /waitlist punto finale:

//server.js
cost espresso = richiedere('esprimere');

// crea il server
cost server = espresso();
cost porto = 3333;

server.listen (porta, () => {
consolare.tronco d'albero(`server in ascolto sulla porta ${porta}`);
})

// crea l'endpoint della lista di attesa
server.uso('/lista d'attesa', asincrono (req, res) => {
Tentativo {
cost utente = req.corpo;

consolare.tronco d'albero(`${utente.nome completo} si è unito alla lista d'attesa`);
res.stato(200).json({ Messaggio: "Iscritto alla lista d'attesa con successo" })
} presa (errore) {
consolare.errore (errore)
res.stato(500).json({ Messaggio: 'Si è verificato un errore' })
}
})

Puoi utilizzare SendinBlue per inviare un'e-mail di benvenuto a un utente che si iscrive alla lista d'attesa.

Il primo passaggio consiste nell'installare l'SDK utilizzando npm o qualsiasi altro gestore di pacchetti. Correre npm installa sib-api-v3-sdk O filato aggiungere sib-api-v3-sdk nella cartella del progetto per aggiungerlo alle dipendenze del progetto.

Dopo l'installazione, sei pronto per iniziare a inviare e-mail con poche righe di codice in più. In un progetto più ampio, probabilmente vorrai isolare la funzionalità di posta elettronica in un file separato. Tuttavia, per questa dimostrazione, puoi continuare a utilizzare lo stesso server.js file.

Importa il sib-api-v3-sdk pacchetto e configura il client SendinBlue come di seguito:

cost SibApi = richiedere('sib-api-v3-sdk');

// crea un'istanza del nuovo client API SendinBlue
cost SibClient = SibApi. ApiClient.istanza;

// Autenticazione
SibClient.authentications['chiave API'.apiKey = process.env. SIB_API_KEY
 || "LA TUA_API_KEY_QUI";

Successivamente, imposta alcune configurazioni e crea una funzione per inviare le email di benvenuto:

cost transazioneEmailApi = nuovo SibApiSDK.TransactionalEmailsApi();

permettere smtpMailData = nuovo SibApiSDK.SendSmtpEmail();

cost mittente = {
e-mail: '[email protected]', // Il tuo indirizzo di posta elettronica
nome: 'Mittente di esempio',
};

cost SendWaitlistEmail = asincrono (datiutente) => {
}

IL transazioneEmailApiLa variabile memorizza un oggetto che ti consente di inviare email di transazione (come vengono chiamate su SendinBlue). IL smtpMailData La variabile memorizzerà i dati dell'e-mail della transazione che dovrai inviare a ciascuna e-mail: il destinatario, il contenuto, ecc.

Passiamo ora al corpo del InviaE-mail lista d'attesa funzione. Il codice seguente mostra l'aspetto che dovrebbe avere il corpo della funzione.

cost SendWaitlistEmail = asincrono (datiutente) => {
Tentativo {
smtpMailData.sender = mittente;

smtpMailData.to = [{
e-mail: userData.e-mail,
nome: userData.nome completo
}];

smtpMailData.subject = "Sei in lista d'attesa!";

smtpMailData.params = {
'nome': userData.nome completo,
'twitter': '@utilizzare'
};

smtpMailData.htmlContenuto = "

Ciao {{ params.name }}, "


+ "Benvenuto nella lista d'attesa di makeuseof.com. Ti avviseremo"
+ "quando lanciamo. Si prega di seguirci su Twitter "
+ "{{ params.twitter }}.

";

// invia una email
aspetta transazioneEmailApi.sendTransacEmail (smtpMailData)
.Poi((dati) => {
consolare.log (dati) // registra l'ID e-mail
})
.presa((errore) => {
consolare.errore (errore)
gettarenuovoErrore(errore) // gestisce gli errori
})
} presa (errore) {
consolare.tronco d'albero('Si è verificato un errore...')
consolare.errore (errore)
gettarenuovoErrore(errore) // gestisce gli errori
}
}

La maggior parte di questo codice popola le proprietà chiave del file smtpMailData oggetto. Nell'ordine, questi sono:

  • mittente: Un oggetto contenente due proprietà: email e nome. Il codice sopra utilizza un indirizzo e-mail fittizio, ma dovresti utilizzare un indirizzo e-mail reale e funzionante per le applicazioni di produzione.
  • A: Questa è una matrice di destinatari di posta elettronica. Gli elementi di questo array sono oggetti definiti con i dati (e-mail e nome) del destinatario dell'e-mail. Puoi avere fino a 50 destinatari per messaggio. Tecnicamente, è possibile inviare il messaggio a più di 50 persone contemporaneamente, ma così facendo aumenta il rischio che gli agenti di posta elettronica lo considerino spam.
  • soggetto: Questo è l'oggetto della mail da inviare.
  • parametri: Si tratta di dati aggiuntivi che puoi utilizzare in varie parti della tua email (principalmente l'oggetto e il contenuto). Puoi usare i valori da questo parametri oggetto racchiudendoli in doppie parentesi graffe (ad es {{params.name}}).
  • htmlContenuto: Questa proprietà definisce il corpo del messaggio. Aiuta a definire il corpo del messaggio dell'e-mail, che puoi formattare utilizzando HTML. Ha anche un'alternativa, textContent, che mantiene semplice il corpo del messaggio.

L'e-mail può avere più proprietà e puoi scoprirle tutte in La documentazione per gli sviluppatori di SendinBlue.

Infine il sendTransacEmail metodo di transazioneEmailApi invia l'e-mail e restituisce l'ID dell'e-mail.

Avendo implementato il InviaE-mail lista d'attesa funzione, puoi chiamarla nell'endpoint della lista di attesa. L'endpoint della lista d'attesa qui sopra sarà ora simile a questo:

server.uso('/lista d'attesa', asincrono (req, res) => {
Tentativo {
cost utente = req.corpo;

consolare.tronco d'albero(`${utente.nome completo} si è unito alla lista d'attesa`);

// chiama la funzione del mittente dell'e-mail
aspetta InviaWaitlistEmail (utente)
res.stato(200).json({ Messaggio: "Iscritto alla lista d'attesa con successo" })
} presa (errore) {
consolare.errore (errore)
res.stato(500).json({ Messaggio: "Si è verificato un errore interno del server" })
}
})

Puoi avviare la tua applicazione e testare l'endpoint della tua lista di attesa in un client API REST o dal front-end della tua applicazione. Ecco un esempio di richiesta di test da parte di Postman.

Ecco come appare l'e-mail ricevuta. Si noti che i valori da parametri oggetto sono presenti.

Se controlli il tuo terminale, vedrai anche il file ID messaggio stampato nella console. È possibile archiviare questo valore in un database o in un registro per identificare una particolare e-mail.

Potresti anche considerare di controllarne alcuni suggerimenti per evitare che le e-mail finiscano nello spam dei destinatari.

Sebbene questo sistema di posta elettronica funzioni correttamente, fare in modo che l'endpoint chiami direttamente la funzione del mittente dell'e-mail non è l'approccio più efficiente. Potrebbe far sì che l'applicazione attenda inutilmente mentre invia l'e-mail. Per evitare ciò, è necessario ottimizzare il processo tramite implementazione di una coda di attività per gestire il carico di lavoro della posta elettronica.

L'invio di e-mail in Node.js non è mai stato così facile

È soddisfacente rendersi conto che puoi creare un servizio per inviare e-mail in Node.js molto facilmente.

Oltre allo scopo di questa guida, c'è molto di più che puoi fare con SendinBlue. È possibile inviare diverse versioni di posta elettronica a destinatari diversi contemporaneamente, utilizzare i modelli di posta elettronica forniti da SendinBlue, configura i webhook per rilevare le azioni intraprese dai tuoi destinatari e-mail e visualizzare in tempo reale analitica.

Puoi esplorare queste funzionalità controllandole nel portale per sviluppatori e implementandole nelle tue applicazioni Node.js.