Begynn å sende din egen e-post med denne vennlige API-en og minimalt med oppsett.

I dagens hektiske digitale verden er e-postmarkedsføring et viktig verktøy for bedrifter for å nå sine kunder effektivt. Implementering av et e-postsystem kan imidlertid være en kompleks og tidkrevende prosess, spesielt for utviklere som er nye i oppgaven.

Heldigvis, med Sendinblue, er det en veldig enkel oppgave å sende e-post. Som en programvare-som-en-tjeneste (SaaS)-plattform, gir Sendinblue alt du trenger som bedriftseier eller utvikler for å sende e-postene dine til brukerne dine veldig enkelt.

Hva er Sendinblue?

SendinBlue er en programvare-som-en-tjeneste (SaaS)-plattform som tilbyr en brukervennlig e-postmarkedsføringsløsning for små, mellomstore og store bedrifter. SendinBlue gir en plattform som hjelper bedrifter med å utvide relasjonene sine med kundene, hovedsakelig gjennom e-post- og SMS-tjenester.

SendinBlue tilbyr også APIer og verktøy som lar utviklere automatisere og sende e-post og SMS. Disse verktøyene er enkle å integrere med Node.js og andre programmeringsspråk for å lage tilpassede e-post- og SMS-kampanjer.

instagram viewer

Med SendinBlue kan bedrifter strømlinjeforme kommunikasjonsprosesser og nå brukere eller kunder mer effektivt.

Slik får du SendinBlue API-legitimasjon

For å bruke SendinBlue APIer og SDKer, er den første forutsetningen en SendinBlue-konto. SendinBlue gir en enkel registreringsprosess, og du kan opprette en konto på SendinBlue registreringsside.

Opprett en konto, skriv inn de nødvendige opplysningene og velg en passende plan i innføringsprosessen. SendinBlue vil deretter omdirigere deg til dashbordet ditt hvor du kan få API-legitimasjonen din.

Følg trinnene nedenfor for å få API-legitimasjonen din.

  1. Klikk på organisasjonsnavnet ditt øverst til høyre på dashbordet.
  2. Plukke ut SMTP og API fra menyen som ruller ned.
  3. Bytt til API-nøkler fanen og klikk påGenerer en ny API-nøkkel knapp.
  4. I popup-vinduet som vises, gi nøkkelen et navn, kopier den genererte strengen og lagre den på en sikker måte.

Denne strengen er din API-nøkkel og din identitetslegitimasjon som du bør lagre nøye slik at den ikke faller i feil hender.

Hvordan bygge et e-postsendingssystem i Node.js

Node.js har ikke en innebygd e-postpakke som Golang. For å sende e-poster trenger du en ekstern pakke som nodemailer eller den som SendinBlue gir.

Du trenger også en praktisk kunnskap om Node.js og et Node.js-utviklingsmiljø på maskinen din.

Tenk på denne enkle Node/Express-applikasjonen med en /waitlist endepunkt:

// server.js
konst uttrykke = krever('uttrykke');

// opprette server
konst server = express();
konst port = 3333;

server.listen (port, () => {
konsoll.Logg(`server lytter på port ${port}`);
})

// opprette venteliste endepunkt
server.bruk('/venteliste', asynkron (req, res) => {
prøve {
konst bruker = req.body;

konsoll.Logg(`${user.fullname} kom på venteliste`);
res.status(200).json({ beskjed: «Bli med på venteliste vellykket» })
} å fange (feil) {
konsoll.error (feil)
res.status(500).json({ beskjed: 'En feil oppstod' })
}
})

Du kan bruke SendinBlue til å sende en velkomst-e-post til en bruker som melder seg på ventelisten.

Det første trinnet er å installere SDK ved hjelp av npm eller en hvilken som helst annen pakkebehandler. Løpe npm installer sib-api-v3-sdk eller garn legg til sib-api-v3-sdk i prosjektmappen for å legge den til prosjektets avhengigheter.

Etter installasjonen er du klar til å begynne å sende e-poster med bare noen få flere kodelinjer. På et større prosjekt vil du sannsynligvis ønske å isolere e-postfunksjonaliteten i en egen fil. Men for denne demonstrasjonen kan du fortsette å bruke den samme server.js fil.

Importer sib-api-v3-sdk pakke, og sett opp SendinBlue-klienten som nedenfor:

konst SibApi = krever('sib-api-v3-sdk');

// instansier ny SendinBlue API-klient
konst SibClient = SibApi. ApiClient.instance;

// Autentisering
SibClient.authentications['api-key'].apiKey = prosess.env. SIB_API_KEY
 || 'DIN_API_KEY_HERE';

Deretter setter du opp noen konfigurasjoner og oppretter en funksjon for å sende velkomst-e-postene:

konst transactionEmailApi = ny SibApiSDK.TransactionalEmailsApi();

la smtpMailData = ny SibApiSDK.SendSmtpEmail();

konst avsender = {
e-post: '[email protected]', // Din epostadresse
Navn: "Eksempel avsender",
};

konst Send ventelisteE-post = asynkron (brukerdata) => {
}

De transaksjonEmailApivariabel lagrer et objekt som lar deg sende transaksjons-e-poster (som de kalles på SendinBlue). De smtpMailData variabelen vil lagre transaksjons-e-postdataene du trenger for å sende hver e-post: mottakeren, innholdet osv.

Nå videre til kroppen til Send ventelisteE-post funksjon. Følgende kode viser hvordan funksjonskroppen skal se ut.

konst Send ventelisteE-post = asynkron (brukerdata) => {
prøve {
smtpMailData.sender = avsender;

smtpMailData.to = [{
e-post: userData.email,
navn: brukerData.fullnavn
}];

smtpMailData.subject = "Du er på venteliste!";

smtpMailData.params = {
'Navn': userData.fullname,
'twitter': '@benytte seg av'
};

smtpMailData.htmlInnhold = "

Hei {{ params.name }}, "


+ "velkommen til makeuseof.com venteliste. Vi gir deg beskjed"
+ "når vi lanserer. Følg oss gjerne på Twitter "
+ "{{ params.twitter }}.

";

// Send e-post
avvente transactionEmailApi.sendTransacEmail (smtpMailData)
.deretter((data) => {
konsoll.log (data) // logg e-post-ID
})
.å fange((feil) => {
konsoll.error (feil)
kastenyFeil(feil) // håndtere feil
})
} å fange (feil) {
konsoll.Logg('En feil oppstod...')
konsoll.error (feil)
kastenyFeil(feil) // håndtere feil
}
}

Det meste av denne koden fyller nøkkelegenskapene til smtpMailData gjenstand. I rekkefølge er disse:

  • avsender: Et objekt som inneholder to egenskaper: e-post og navn. Koden ovenfor bruker en dummy-e-postadresse, men du bør bruke en ekte, fungerende e-postadresse for produksjonsapplikasjoner.
  • til: Dette er en rekke e-postmottakere. Elementene i denne matrisen er objekter definert med dataene (e-post og navn) til e-postmottakeren. Du kan ha opptil 50 mottakere per melding. Teknisk sett er det mulig å sende meldingen til mer enn 50 samtidig, men å gjøre det øker risikoen for at e-postagenter behandler den som spam.
  • Emne: Dette er emnet for e-posten som skal sendes.
  • params: Dette er tilleggsdata som du kan bruke i ulike deler av e-posten din (hovedsakelig emnet og innholdet). Du kan bruke verdier fra denne params gjenstand ved å omslutte dem i doble krøllete seler (dvs {{ params.name }}).
  • htmlInnhold: Denne egenskapen definerer teksten i meldingen. Det hjelper å definere meldingsteksten til e-posten, som du kan formatere ved hjelp av HTML. Den har også et alternativ, tekstinnhold, som holder meldingsteksten ren.

E-posten kan ha flere egenskaper, og du kan finne dem alle i SendinBlues utviklerdokumentasjon.

Til slutt, den sendTransacEmail Metode av transaksjonEmailApi sender e-posten og returnerer e-postens ID.

Etter å ha implementert Send ventelisteE-post funksjon, kan du kalle den i ventelistens sluttpunkt. Ventelisten ovenfor vil nå se slik ut:

server.bruk('/venteliste', asynkron (req, res) => {
prøve {
konst bruker = req.body;

konsoll.Logg(`${user.fullname} kom på venteliste`);

// ring e-post avsender funksjon
avvente Send ventelisteE-post (bruker)
res.status(200).json({ beskjed: «Bli med på venteliste vellykket» })
} å fange (feil) {
konsoll.error (feil)
res.status(500).json({ beskjed: "En intern serverfeil oppstod" })
}
})

Du kan starte applikasjonen og teste ventelisteendepunktet i en REST API-klient, eller fra frontenden av applikasjonen. Her er et eksempel på en testforespørsel fra Postman.

Slik ser den mottatte e-posten ut. Legg merke til at verdiene fra params objekt er tilstede.

Hvis du sjekker terminalen din, vil du også se meldings-ID trykket i konsollen. Du kan lagre denne verdien i en database eller logg for å identifisere en bestemt e-post.

Du kan også vurdere å sjekke noen tips for å forhindre at e-poster går til mottakernes spam.

Selv om dette e-postsystemet fungerer riktig, er det ikke den mest effektive tilnærmingen å ha endepunktet direkte til å ringe e-postsenderfunksjonen. Det kan føre til at søknaden din venter unødvendig mens den sender e-posten. For å unngå dette bør du optimalisere prosessen ved implementere en oppgavekø for å håndtere e-postarbeidsmengden.

Det har aldri vært enklere å sende e-poster i Node.js

Det er tilfredsstillende å innse at du kan bygge en tjeneste for å sende e-poster i Node.js veldig enkelt.

Utover omfanget av denne veiledningen, er det mye mer du kan gjøre med SendinBlue. Du kan sende forskjellige e-postversjoner til forskjellige mottakere samtidig, bruk e-postmaler levert av SendinBlue, konfigurer webhooks for å oppdage handlinger utført av e-postmottakerne dine, og se sanntid analyser.

Du kan utforske disse funksjonene ved å sjekke dem ut i utviklerportalen og implementere dem i dine Node.js-applikasjoner.