Begynd at sende din egen e-mail med denne venlige API og et minimum af opsætning.

I nutidens hurtige digitale verden er e-mail marketing et vigtigt værktøj for virksomheder til at nå deres kunder effektivt. Implementering af et e-mail-system kan dog være en kompleks og tidskrævende proces, især for udviklere, der er nye til opgaven.

Heldigvis, med Sendinblue, er det en meget nem opgave at sende e-mails. Som en software-as-a-service (SaaS) platform, giver Sendinblue alt, hvad du behøver som virksomhedsejer eller udvikler for at få dine e-mails overført til dine brugere meget nemt.

Hvad er Sendinblue?

SendinBlue er en software-as-a-service (SaaS) platform, der tilbyder en brugervenlig e-mail marketing løsning til små, mellemstore og store virksomheder. SendinBlue tilbyder en platform, der hjælper virksomheder med at udvikle deres relationer med deres kunder, hovedsageligt gennem e-mail og SMS-tjenester.

SendinBlue tilbyder også API'er og værktøjer, der giver udviklere mulighed for at automatisere og sende e-mails og SMS. Disse værktøjer er enkle at integrere med Node.js og andre programmeringssprog for at skabe tilpassede e-mail- og SMS-kampagner.

instagram viewer

Med SendinBlue kan virksomheder strømline kommunikationsprocesser og nå ud til brugere eller kunder mere effektivt.

Sådan får du SendinBlue API-legitimationsoplysninger

For at bruge SendinBlue API'er og SDK'er er den første forudsætning en SendinBlue-konto. SendinBlue giver en nem tilmeldingsproces, og du kan oprette en konto på SendinBlue tilmeldingsside.

Opret en konto, indtast de nødvendige detaljer, og vælg en passende plan i onboarding-processen. SendinBlue vil derefter omdirigere dig til dit dashboard, hvor du vil være i stand til at få dine API-legitimationsoplysninger.

Følg nedenstående trin for at få dine API-legitimationsoplysninger.

  1. Klik på din organisations navn i øverste højre hjørne af dashboardet.
  2. Vælg SMTP og API fra menuen, der falder ned.
  3. Skift til API nøgler fanen og klik påGenerer en ny API-nøgle knap.
  4. I pop op-vinduet, der vises, skal du give din nøgle et navn, kopiere den genererede streng og derefter opbevare den sikkert.

Denne streng er din API-nøgle og din identitetsoplysninger, som du bør gemme omhyggeligt, så den ikke falder i de forkerte hænder.

Sådan bygger du et e-mail-afsendelsessystem i Node.js

Node.js har ikke en indbygget e-mail-pakke som Golang. For at sende e-mails skal du bruge en ekstern pakke som f.eks nodemailer eller den, som SendinBlue leverer.

Du skal også have et praktisk kendskab til Node.js og et Node.js-udviklingsmiljø på din maskine.

Overvej denne enkle Node/Express-applikation med en /waitlist slutpunkt:

// server.js
konst udtrykke = kræve('udtrykke');

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

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

// oprette venteliste slutpunkt
server.brug('/venteliste', asynkron (req, res) => {
prøve {
konst bruger = req.body;

konsol.log(`${user.fullname} kom på ventelisten«);
res.status(200).json({ besked: "Tilmeldte sig venteliste med succes" })
} fangst (fejl) {
konsol.error (fejl)
res.status(500).json({ besked: 'En fejl opstod' })
}
})

Du kan bruge SendinBlue til at sende en velkomst-e-mail til en bruger, der skriver sig på ventelisten.

Det første trin er at installere SDK'et vha npm eller enhver anden pakkeadministrator. Løb npm installer sib-api-v3-sdk eller garn tilføj sib-api-v3-sdk i din projektmappe for at føje den til projektets afhængigheder.

Efter installationen er du klar til at begynde at sende e-mails med blot et par flere linjer kode. På et større projekt vil du sikkert gerne isolere e-mail-funktionaliteten i en separat fil. Men til denne demonstration kan du fortsætte med at bruge det samme server.js fil.

Importer sib-api-v3-sdk pakke, og opsæt SendinBlue-klienten som nedenfor:

konst SibApi = kræve('sib-api-v3-sdk');

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

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

Derefter skal du konfigurere en vis konfiguration og oprette en funktion til at sende velkomst-e-mails:

konst transaktionEmailApi = ny SibApiSDK.TransactionalEmailsApi();

lade smtpMailData = ny SibApiSDK.SendSmtpEmail();

konst afsender = {
e-mail: '[email protected]', // Din email adresse
navn: 'Eksempel afsender',
};

konst Send VentelisteE-mail = asynkron (brugerdata) => {
}

Det transaktionEmailApivariabel gemmer et objekt, der lader dig sende transaktions-e-mails (som de kaldes på SendinBlue). Det smtpMailData variabel gemmer de transaktions-e-mail-data, du skal bruge for at sende hver e-mail: modtager, indhold osv.

Nu videre til kroppen af Send ventelisteE-mail fungere. Følgende kode viser, hvordan funktionslegemet skal se ud.

konst Send VentelisteE-mail = asynkron (brugerdata) => {
prøve {
smtpMailData.sender = afsender;

smtpMailData.to = [{
e-mail: userData.email,
navn: brugerData.fuldt navn
}];

smtpMailData.subject = 'Du er på ventelisten!';

smtpMailData.params = {
'navn': brugerData.fuldt navn,
'twitter': '@gøre brug af'
};

smtpMailData.htmlIndhold = "

Hej {{ params.name }}, "


+ "velkommen til makeuseof.com venteliste. Vi giver dig besked"
+ "når vi starter. Følg os venligst på Twitter "
+ "{{ params.twitter }}.

";

// Send e-mail
vente transactionEmailApi.sendTransacEmail (smtpMailData)
.derefter((data) => {
konsol.log (data) // log e-mail-id'et
})
.fangst((fejl) => {
konsol.error (fejl)
kastenyFejl(fejl) // håndtere fejl
})
} fangst (fejl) {
konsol.log('En fejl opstod...')
konsol.error (fejl)
kastenyFejl(fejl) // håndtere fejl
}
}

Det meste af denne kode udfylder nøgleegenskaber for smtpMailData objekt. I rækkefølge er disse:

  • afsender: Et objekt, der indeholder to egenskaber: e-mail og navn. Ovenstående kode bruger en dummy-e-mailadresse, men du bør bruge en rigtig, fungerende e-mailadresse til produktionsapplikationer.
  • til: Dette er en række e-mail-modtagere. Elementerne i dette array er objekter defineret med data (e-mail og navn) for e-mail-modtageren. Du kan have op til 50 modtagere pr. besked. Teknisk set er det muligt at sende din besked til mere end 50 på én gang, men hvis du gør det, øges risikoen for, at e-mail-agenter behandler den som spam.
  • emne: Dette er emnet for den e-mail, der skal sendes.
  • params: Dette er yderligere data, som du kan bruge i forskellige dele af din e-mail (hovedsageligt emne og indhold). Du kan bruge værdier fra dette params genstand ved at omslutte dem i dobbelte krøllede seler (dvs {{ params.name }}).
  • html Indhold: Denne egenskab definerer meddelelsens brødtekst. Det hjælper med at definere meddelelsesteksten i e-mailen, som du kan formatere ved hjælp af HTML. Det har også et alternativ, tekstindhold, som holder meddelelsesteksten ren.

E-mailen kan have flere egenskaber, og du kan finde dem alle sammen SendinBlues udviklerdokumentation.

Endelig, den sendTransacEmail metode til transaktionEmailApi sender e-mailen og returnerer e-mailens id.

Efter at have implementeret Send ventelisteE-mail funktion, kan du kalde den i ventelistens slutpunkt. Ventelistens slutpunkt ovenfor vil nu se sådan ud:

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

konsol.log(`${user.fullname} kom på ventelisten«);

// ring e-mail afsender funktion
vente Send ventelisteE-mail (bruger)
res.status(200).json({ besked: "Tilmeldte sig venteliste med succes" })
} fangst (fejl) {
konsol.error (fejl)
res.status(500).json({ besked: 'Der opstod en intern serverfejl' })
}
})

Du kan starte din applikation og teste dit ventelisteslutpunkt i en REST API-klient eller fra frontenden af ​​din applikation. Her er et eksempel på en testanmodning fra Postman.

Sådan ser den modtagne e-mail ud. Bemærk, at værdierne fra params objekt er til stede.

Hvis du tjekker din terminal, vil du også se besked-id trykt i konsollen. Du kan gemme denne værdi i en database eller log for at identificere en bestemt e-mail.

Du kan også overveje at tjekke nogle tips til at forhindre e-mails i at gå til modtagernes spam.

Selvom dette e-mail-system fungerer korrekt, er det ikke den mest effektive tilgang at få slutpunktet til at ringe direkte til e-mail-afsenderfunktionen. Det kan få din ansøgning til at vente unødigt, mens den sender e-mailen. For at undgå dette bør du optimere processen ved implementering af en opgavekø at håndtere e-mail-arbejdsbyrden.

Det har aldrig været nemmere at sende e-mails i Node.js

Det er tilfredsstillende at indse, at du meget nemt kan bygge en tjeneste til at sende e-mails i Node.js.

Ud over omfanget af denne guide er der meget mere, du kan gøre med SendinBlue. Du kan sende forskellige e-mail-versioner til forskellige modtagere på én gang, brug e-mail-skabeloner leveret af SendinBlue, konfigurer webhooks til at registrere handlinger udført af dine e-mail-modtagere, og se i realtid analyser.

Du kan udforske disse funktioner ved at tjekke dem ud i udviklerportalen og implementere dem i dine Node.js-applikationer.