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.
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.
- Klikk på organisasjonsnavnet ditt øverst til høyre på dashbordet.
- Plukke ut SMTP og API fra menyen som ruller ned.
- Bytt til API-nøkler fanen og klikk påGenerer en ny API-nøkkel knapp.
- 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.