Bereik

Grow

Manage

Automate

Bereik

Grow

Manage

Automate

Een gids voor het gebruik van SparkPost met Node.js

E-mail

1 min read

Een gids voor het gebruik van SparkPost met Node.js

E-mail

1 min read

Een gids voor het gebruik van SparkPost met Node.js

Als een Developer Advocate voor SparkPost schrijf ik veel voorbeeldapplicaties. Mijn achtergrond ligt vooral in front-end ontwikkeling, dus mijn sterkste taal is JavaScript. Dankzij Node.js ben ik ook een behoorlijke backend ontwikkelaar. Betekent dit dat ik nu een full stack ontwikkelaar ben?

Intro to Node.js

Als Developer Advocate voor SparkPost schrijf ik veel voorbeeldapplicaties. Mijn achtergrond ligt voornamelijk in front-end ontwikkeling, daarom is mijn sterkste taal JavaScript. Dankzij Node.js ben ik ook een redelijke backend-ontwikkelaar. Betekent dit dat ik nu een full stack ontwikkelaar ben? Hoe dan ook, het was belangrijk voor mij dat we een geweldige SparkPost clientbibliotheek hadden voor Node.js. Dus dook ik er meteen in en werd een bijdrager (zelfs voordat ik werd aangenomen).

Laat mij u helpen met het starten van het versturen van e-mails met SparkPost in uw Node.js project.

Installatie & Setup

Ik ga ervan uit dat je Node.js geïnstalleerd hebt. Omdat we de Node.js Long Term Support (LTS) schema volgen, moet je versie 4 of hoger gebruiken. Je kunt zien welke versie je gebruikt met het `node –version` commando in je terminalvenster.

Laten we een nieuw npm-project maken. Als je er al een hebt, kun je dit deel overslaan.

> mkdir sparkpost-test > cd sparkpost-test > npm init --yes

Dit zal een nieuw project maken en alle standaardinstellingen accepteren. Je kunt ook `npm init` uitvoeren en alle prompts beantwoorden.

Nu kunnen we node-sparkpost installeren:

> npm install sparkpost --save

Eenmaal geïnstalleerd kun je een instantie van de SparkPost-klasse importeren en creëren:

const SparkPost = require('sparkpost') const client = new SparkPost('YOUR API KEY')

Het is een goede gewoonte om je API-sleutel niet in code te plaatsen. We raden sterk aan het buiten je code op te slaan, dus hebben we de clientbibliotheek opgezet om de SPARKPOST_API_KEY  omgeving variabele te detecteren.

Ik ga ervan uit dat je Node.js geïnstalleerd hebt. Omdat we de Node.js Long Term Support (LTS) schema volgen, moet je versie 4 of hoger gebruiken. Je kunt zien welke versie je gebruikt met het `node –version` commando in je terminalvenster.

Laten we een nieuw npm-project maken. Als je er al een hebt, kun je dit deel overslaan.

> mkdir sparkpost-test > cd sparkpost-test > npm init --yes

Dit zal een nieuw project maken en alle standaardinstellingen accepteren. Je kunt ook `npm init` uitvoeren en alle prompts beantwoorden.

Nu kunnen we node-sparkpost installeren:

> npm install sparkpost --save

Eenmaal geïnstalleerd kun je een instantie van de SparkPost-klasse importeren en creëren:

const SparkPost = require('sparkpost') const client = new SparkPost('YOUR API KEY')

Het is een goede gewoonte om je API-sleutel niet in code te plaatsen. We raden sterk aan het buiten je code op te slaan, dus hebben we de clientbibliotheek opgezet om de SPARKPOST_API_KEY  omgeving variabele te detecteren.

Ik ga ervan uit dat je Node.js geïnstalleerd hebt. Omdat we de Node.js Long Term Support (LTS) schema volgen, moet je versie 4 of hoger gebruiken. Je kunt zien welke versie je gebruikt met het `node –version` commando in je terminalvenster.

Laten we een nieuw npm-project maken. Als je er al een hebt, kun je dit deel overslaan.

> mkdir sparkpost-test > cd sparkpost-test > npm init --yes

Dit zal een nieuw project maken en alle standaardinstellingen accepteren. Je kunt ook `npm init` uitvoeren en alle prompts beantwoorden.

Nu kunnen we node-sparkpost installeren:

> npm install sparkpost --save

Eenmaal geïnstalleerd kun je een instantie van de SparkPost-klasse importeren en creëren:

const SparkPost = require('sparkpost') const client = new SparkPost('YOUR API KEY')

Het is een goede gewoonte om je API-sleutel niet in code te plaatsen. We raden sterk aan het buiten je code op te slaan, dus hebben we de clientbibliotheek opgezet om de SPARKPOST_API_KEY  omgeving variabele te detecteren.

E-mail verzenden

Nu je een SparkPost-instantie hebt, ben je klaar om te versturen. Er zijn nogal wat opties beschikbaar voor het verzenden, maar laten we beginnen met een eenvoudig voorbeeld. Hier is hoe je een e-mail naar een enkele ontvanger stuurt, waarbij inline inhoud wordt gespecificeerd:

client.transmissions.send({ content: { from: 'test@your-sending-domain.com', subject: 'Hello from node-sparkpost', html: '<p>Hello world</p>' }, recipients: [ {address: 'someone@somedomain.com'} ] }) .then(data => { console.log('Woohoo! Je hebt zojuist je eerste mailing verzonden!') console.log(data) }) .catch(err => { console.log('Oeps! Er is iets misgegaan') console.log(err) })

Opmerking: Dit voorbeeld maakt gebruik van Promises, maar maak je geen zorgen. We ondersteunen ook callback-functies.

Er zijn meer opties beschikbaar met transmissies, waaronder het specificeren van opgeslagen sjablonen of ontvangerslijsten, cc en bcc, bijlagen toevoegen, een campagne specificeren, vervangingsgegevens gebruiken, en nog veel meer. Bekijk de voorbeelden, documentatie voor de Transmissions-resource, en de Transmissions API-documentatie voor meer informatie.

Bonus: E-mail verzenden met Nodemailer

Nodemailer is een populaire bibliotheek voor Node.js die het verzenden van e-mails "makkelijk als taart" maakt. Voor degenen die ervoor kiezen om deze bibliotheek te gebruiken, hebben we een SparkPost-transport voor Nodemailer gemaakt. U moet de nodemailer  en nodemailer-sparkpost-transport pakketten in uw project installeren.

> npm install nodemailer nodemailer-sparkpost-transport --save

Nu kunt u een nodemailer-transportinstantie maken:

const nodemailer = require('nodemailer') const sparkPostTransport = require('nodemailer-sparkpost-transport') const transporter = nodemailer.createTransport(sparkPostTransport({ 'sparkPostApiKey': process.env.SPARKPOST_API_KEY }))

 

Merk op hoe ik de API-sleutel lees uit een omgevingsvariabele. Het is nog steeds een goede gewoonte om die nooit direct in uw code te plaatsen.

Er zijn verschillende opties die kunnen worden doorgegeven aan het SparkPost-transport, zoals campagne-id en of het bericht transactioneel is of niet. Kijk in de README.md voor alle opties.

Zo zou u hetzelfde bericht hierboven verzenden met Nodemailer:

transporter.sendMail({ from: 'test@your-sending-domain.com', to: 'someone@somedomain.com', subject: 'Hello from nodemailer-sparkpost-transport', html: '<p>Hallo wereld</p>' }, (err, info) => { if (err) { console.error(err); } else { console.log(info); } })

Dubbele Bonus: E-mail verzenden met notif.me

We weten allemaal dat e-mail de koning van communicatie is, maar soms wil je mensen via meerdere kanalen kunnen bereiken. notif.me is een Node.js-bibliotheek voor het verzenden van allerlei transactionele berichten. Of je nu een e-mail, sms, push of webpush wilt verzenden, je kunt het gemakkelijk doen. Het heeft ook ingebouwde fall- en round-robin-strategieën voor meerdere providers. We hebben onlangs samen met de makers een SparkPost-provider gebouwd. Je moet het `notifme-sdk`-pakket in je project installeren.

> npm install notifme-sdk --save

Je kunt nu een notifme-instantie maken met de SparkPost-provider:

const NotifmeSdk = require('notifme-sdk').default const notifmeSdk = new NotifmeSdk({ channels: { email: { providers: [{ type: 'sparkpost', apiKey: process.env.SPARKPOST_API_KEY, }] } } })

Wederom halen we de API-sleutel uit een omgevingsvariabele. We hebben het drie keer gezegd — het is zo belangrijk. 🙂

Laten we nu hetzelfde voorbeeld herhalen, deze keer met behulp van notif.me:

notifmeSdk.send({ email: { from: 'test@your-sending-domain.com', to: 'someone@somedomain.com', subject: 'Hello from the SparkPost notif.me provider', html: '<p>Hallo wereld</p>' } }).then(console.log)

Het is echt gemakkelijk te gebruiken en ik raad aan om naar de andere functies.

Er is geen foute manier om te Node

Als het gaat om het verzenden van e-mails met Node.js, heb je veel opties. We hebben hard gewerkt om het zo eenvoudig mogelijk te maken.

Laten we je in contact brengen met een Bird-expert.
Bekijk de volledige kracht van de Bird in 30 minuten.

Door te verzenden, ga je ermee akkoord dat Bird contact met je mag opnemen over onze producten en diensten.

U kunt zich op elk moment afmelden. Zie Bird's Privacyverklaring voor details over gegevensverwerking.

Nieuwsbrief

Blijf op de hoogte met Bird via wekelijkse updates in je inbox.

Door te verzenden, ga je ermee akkoord dat Bird contact met je mag opnemen over onze producten en diensten.

U kunt zich op elk moment afmelden. Zie Bird's Privacyverklaring voor details over gegevensverwerking.

Laten we je in contact brengen met een Bird-expert.
Bekijk de volledige kracht van de Bird in 30 minuten.

Door te verzenden, ga je ermee akkoord dat Bird contact met je mag opnemen over onze producten en diensten.

U kunt zich op elk moment afmelden. Zie Bird's Privacyverklaring voor details over gegevensverwerking.

Nieuwsbrief

Blijf op de hoogte met Bird via wekelijkse updates in je inbox.

Door te verzenden, ga je ermee akkoord dat Bird contact met je mag opnemen over onze producten en diensten.

U kunt zich op elk moment afmelden. Zie Bird's Privacyverklaring voor details over gegevensverwerking.

Laten we je in contact brengen met een Bird-expert.
Bekijk de volledige kracht van de Bird in 30 minuten.

Door te verzenden, ga je ermee akkoord dat Bird contact met je mag opnemen over onze producten en diensten.

U kunt zich op elk moment afmelden. Zie Bird's Privacyverklaring voor details over gegevensverwerking.

R

Bereik

G

Grow

M

Manage

A

Automate

Nieuwsbrief

Blijf op de hoogte met Bird via wekelijkse updates in je inbox.

Door te verzenden, ga je ermee akkoord dat Bird contact met je mag opnemen over onze producten en diensten.

U kunt zich op elk moment afmelden. Zie Bird's Privacyverklaring voor details over gegevensverwerking.