Erreichen

Grow

Manage

Automate

Erreichen

Grow

Manage

Automate

Ein Leitfaden zur Verwendung von SparkPost mit Node.js

E-Mail

1 min read

Ein Leitfaden zur Verwendung von SparkPost mit Node.js

E-Mail

1 min read

Ein Leitfaden zur Verwendung von SparkPost mit Node.js

Als Developer Advocate für SparkPost schreibe ich viele Beispielanwendungen. Mein Hintergrund ist hauptsächlich die Frontend-Entwicklung, daher ist meine stärkste Sprache JavaScript. Dank Node.js bin ich auch ein passabler Backend-Entwickler. Bedeutet das, dass ich jetzt ein Full-Stack-Entwickler bin?

Einführung in Node.js

Als Developer Advocate für SparkPost schreibe ich viele Beispielanwendungen. Mein Hintergrund liegt hauptsächlich in der Frontend-Entwicklung, daher ist meine stärkste Sprache JavaScript. Dank Node.js bin ich auch ein anständiger Backend-Entwickler. Bedeutet das, dass ich jetzt ein Full-Stack-Entwickler bin? Jedenfalls war es wichtig für mich, dass wir eine großartige SparkPost-Client-Bibliothek für Node.js hatten. Also tauchte ich direkt ein und wurde ein Mitwirkender (sogar bevor ich eingestellt wurde).

Lassen Sie mich Ihnen helfen, mit SparkPost in Ihrem Node.js-Projekt E-Mails zu versenden.

Installation & Einrichtung

Ich gehe davon aus, dass Sie Node.js installiert haben. Da wir dem Node.js Long Term Support (LTS) Zeitplan folgen, müssen Sie Version 4 oder höher verwenden. Sie können mit dem Befehl `node –version` in Ihrem Terminalfenster sehen, welche Version Sie verwenden.

Lassen Sie uns ein neues npm-Projekt erstellen. Wenn Sie bereits eines haben, können Sie diesen Teil überspringen.

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

Dies erstellt ein neues Projekt und akzeptiert alle Standardwerte. Sie können stattdessen auch `npm init` ausführen und alle Aufforderungen beantworten.

Jetzt können wir node-sparkpost installieren:

> npm install sparkpost --save

Sobald es installiert ist, können Sie eine Instanz der SparkPost-Klasse importieren und erstellen:

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

Es ist eine gute Praxis, Ihren API-Schlüssel nicht im Code zu speichern. Wir empfehlen dringend, ihn außerhalb Ihres Codes zu speichern, sodass wir die Client-Bibliothek so einrichten, dass sie die Umgebungsvariable SPARKPOST_API_KEY erkennt.

Ich gehe davon aus, dass Sie Node.js installiert haben. Da wir dem Node.js Long Term Support (LTS) Zeitplan folgen, müssen Sie Version 4 oder höher verwenden. Sie können mit dem Befehl `node –version` in Ihrem Terminalfenster sehen, welche Version Sie verwenden.

Lassen Sie uns ein neues npm-Projekt erstellen. Wenn Sie bereits eines haben, können Sie diesen Teil überspringen.

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

Dies erstellt ein neues Projekt und akzeptiert alle Standardwerte. Sie können stattdessen auch `npm init` ausführen und alle Aufforderungen beantworten.

Jetzt können wir node-sparkpost installieren:

> npm install sparkpost --save

Sobald es installiert ist, können Sie eine Instanz der SparkPost-Klasse importieren und erstellen:

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

Es ist eine gute Praxis, Ihren API-Schlüssel nicht im Code zu speichern. Wir empfehlen dringend, ihn außerhalb Ihres Codes zu speichern, sodass wir die Client-Bibliothek so einrichten, dass sie die Umgebungsvariable SPARKPOST_API_KEY erkennt.

Ich gehe davon aus, dass Sie Node.js installiert haben. Da wir dem Node.js Long Term Support (LTS) Zeitplan folgen, müssen Sie Version 4 oder höher verwenden. Sie können mit dem Befehl `node –version` in Ihrem Terminalfenster sehen, welche Version Sie verwenden.

Lassen Sie uns ein neues npm-Projekt erstellen. Wenn Sie bereits eines haben, können Sie diesen Teil überspringen.

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

Dies erstellt ein neues Projekt und akzeptiert alle Standardwerte. Sie können stattdessen auch `npm init` ausführen und alle Aufforderungen beantworten.

Jetzt können wir node-sparkpost installieren:

> npm install sparkpost --save

Sobald es installiert ist, können Sie eine Instanz der SparkPost-Klasse importieren und erstellen:

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

Es ist eine gute Praxis, Ihren API-Schlüssel nicht im Code zu speichern. Wir empfehlen dringend, ihn außerhalb Ihres Codes zu speichern, sodass wir die Client-Bibliothek so einrichten, dass sie die Umgebungsvariable SPARKPOST_API_KEY erkennt.

Senden von Email

Jetzt, da Sie eine SparkPost-Instanz haben, sind Sie bereit zum Senden. Es gibt einige Optionen zum Senden, aber lassen Sie uns mit einem einfachen Beispiel beginnen. So senden Sie eine E-Mail an einen einzelnen Empfänger, wobei Sie Inline-Inhalte angeben:

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! Du hast gerade deine erste Mail verschickt!') console.log(data) }) .catch(err => { console.log('Whoops! Etwas ist schiefgelaufen') console.log(err) })

Hinweis: Dieses Beispiel verwendet Promises, aber keine Sorge. Wir unterstützen auch Callback-Funktionen.

Es gibt mehr Optionen mit Übertragungen, einschließlich der Angabe gespeicherter Vorlagen oder Empfängerlisten, cc und bcc, das Hinzufügen von Anhängen, die Festlegung einer Kampagne, die Verwendung von Ersetzungsdaten und vieles mehr. Schauen Sie sich die Beispiele, Dokumentation für die Transmissions-Ressource und die API-Dokumentation zu den Transmissions für weitere Informationen an.

Bonus: Senden von Email mit Nodemailer

Nodemailer ist eine beliebte Bibliothek für Node.js, die das Versenden von E-Mails "so einfach wie ein Kuchen" macht. Für diejenigen, die sich entscheiden, diese Bibliothek zu verwenden, haben wir einen SparkPost-Transport für Nodemailer erstellt. Sie müssen die nodemailer  und nodemailer-sparkpost-transport Pakete in Ihrem Projekt installieren.

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

Nun können Sie eine nodemailer-Transportinstanz erstellen:

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

 

Beachten Sie, wie ich den API-Schlüssel aus einer Umgebungsvariablen lese. Es ist immer noch am besten, diesen niemals direkt in Ihren Code zu schreiben.

Es gibt mehrere Optionen, die in den SparkPost-Transport übergeben werden können, wie die Kampagnen-ID und ob die Nachricht transaktional ist oder nicht. Werfen Sie einen Blick auf die README.md für alle Optionen.

So würden Sie die gleiche Nachricht wie oben mit Nodemailer senden:

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

Doppelbonus: Senden von Email mit notif.me

Wir alle wissen, dass E-Mail der König der Kommunikation ist, aber manchmal möchte man in der Lage sein, Menschen über mehrere Kanäle zu erreichen. notif.me ist eine Node.js-Bibliothek zum Senden aller Arten von transaktionalen Nachrichten. Egal, ob Sie eine E-Mail, SMS, Push oder Webpushes senden möchten, Sie können es problemlos tun. Es verfügt auch über eingebaute Fall- und Round-Robin-Strategien für mehrere Anbieter. Wir haben kürzlich mit den Erstellern zusammengearbeitet, um einen SparkPost-Anbieter zu erstellen. Sie müssen das `notifme-sdk`-Paket in Ihrem Projekt installieren.

> npm install notifme-sdk --save

Sie können jetzt eine notifme-Instanz mit dem SparkPost-Anbieter erstellen:

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

Wie gesagt, wir ziehen den API-Schlüssel aus einer Umgebungsvariable. Wir haben es dreimal gesagt — es ist so wichtig. 🙂

Wiederholen wir nun dasselbe Beispiel, diesmal mit 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 Welt</p>' } }).then(console.log)

Es ist wirklich einfach zu bedienen und ich empfehle, einen Blick auf die anderen Funktionen. zu werfen.

Es gibt keinen falschen Weg, Node zu verwenden

Wenn es darum geht, E-Mails mit Node.js zu senden, haben Sie viele Optionen. Wir haben hart daran gearbeitet, es so schmerzlos wie möglich zu machen.

Lassen Sie uns Sie mit einem Bird-Experten verbinden.
Erleben Sie die volle Macht des Bird in 30 Minuten.

Durch die Übermittlung stimmen Sie zu, dass Bird Sie bezüglich unserer Produkte und Dienstleistungen kontaktieren darf.

Sie können sich jederzeit abmelden. Weitere Informationen zur Datenverarbeitung finden Sie in Birds Datenschutzerklärung.

Unternehmen

Newsletter

Bleiben Sie mit Bird auf dem Laufenden durch wöchentliche Updates in Ihrem Posteingang.

Durch die Übermittlung stimmen Sie zu, dass Bird Sie bezüglich unserer Produkte und Dienstleistungen kontaktieren darf.

Sie können sich jederzeit abmelden. Weitere Informationen zur Datenverarbeitung finden Sie in Birds Datenschutzerklärung.

Lassen Sie uns Sie mit einem Bird-Experten verbinden.
Erleben Sie die volle Macht des Bird in 30 Minuten.

Durch die Übermittlung stimmen Sie zu, dass Bird Sie bezüglich unserer Produkte und Dienstleistungen kontaktieren darf.

Sie können sich jederzeit abmelden. Weitere Informationen zur Datenverarbeitung finden Sie in Birds Datenschutzerklärung.

Unternehmen

Newsletter

Bleiben Sie mit Bird auf dem Laufenden durch wöchentliche Updates in Ihrem Posteingang.

Durch die Übermittlung stimmen Sie zu, dass Bird Sie bezüglich unserer Produkte und Dienstleistungen kontaktieren darf.

Sie können sich jederzeit abmelden. Weitere Informationen zur Datenverarbeitung finden Sie in Birds Datenschutzerklärung.

Lassen Sie uns Sie mit einem Bird-Experten verbinden.
Erleben Sie die volle Macht des Bird in 30 Minuten.

Durch die Übermittlung stimmen Sie zu, dass Bird Sie bezüglich unserer Produkte und Dienstleistungen kontaktieren darf.

Sie können sich jederzeit abmelden. Weitere Informationen zur Datenverarbeitung finden Sie in Birds Datenschutzerklärung.

R

Erreichen

G

Grow

M

Manage

A

Automate

Unternehmen

Newsletter

Bleiben Sie mit Bird auf dem Laufenden durch wöchentliche Updates in Ihrem Posteingang.

Durch die Übermittlung stimmen Sie zu, dass Bird Sie bezüglich unserer Produkte und Dienstleistungen kontaktieren darf.

Sie können sich jederzeit abmelden. Weitere Informationen zur Datenverarbeitung finden Sie in Birds Datenschutzerklärung.