Ein Leitfaden zur Verwendung von SparkPost mit Node.js

Ein Leitfaden zur Verwendung von SparkPost mit Node.js

Ein Leitfaden zur Verwendung von SparkPost mit Node.js

Sep 1, 2017

Herausgegeben von

Herausgegeben von

Bird

Bird

-

Kategorie:

Kategorie:

E-Mail

E-Mail

Ready to see Bird
in action?

Ready to see Bird
in action?

A Guide to Using SparkPost with Node.js

Einführung in Node.js

As a Developer Advocate for SparkPost, I write a lot of sample applications. My background is mostly front-end development, therefore my strongest language is JavaScript. Thanks to Node.js, I’m a decent backend developer as well. Does this mean I’m a full stack developer now? Anyway, it was important for me that we had an awesome SparkPost client library for Node.js. So, I dove right in and became a contributor (noch bevor ich eingestellt wurde).

Erlauben Sie mir, Ihnen den Einstieg in den E-Mail-Versand mit SparkPost in Ihrem Node.js-Projekt zu erleichtern.


Installing & Setup

I’m going to assume that you have Node.js installiert. Because we follow the Zeitplan für den langfristigen Unterstützung (LTS) von Node.js, you’ll need to be running version 4 or higher. You can see which version you’re running using the `node –version` command in your terminal window.

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

Dadurch wird ein neues Projekt erstellt und alle Voreinstellungen werden übernommen. Sie können stattdessen auch `npm init` ausführen und alle Eingabeaufforderungen beantworten.

Now we can install node-sparkpost:

> npm install sparkpost --save

Nach der Installation können Sie eine Instanz der SparkPost-Klasse importieren und erstellen:

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

It’s good practice to avoid putting your API key in code. We highly recommend storing it outside your code, so we set up the client library to detect the SPARKPOST_API_KEY  environment variable.


Versenden von E-Mails

Jetzt, da Sie eine SparkPost-Instanz haben, können Sie senden. Es gibt eine ganze Reihe von Optionen für den Versand, aber lassen Sie uns mit einem einfachen Beispiel beginnen. Hier sehen Sie, wie Sie eine E-Mail an einen einzelnen Empfänger senden und dabei 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! You just sent your first mailing!') console.log(data) }) .catch(err => { console.log('Whoops! Something went wrong') console.log(err) })

Note: This example uses Promises, but don’t worry. We also Callback-Funktionen unterstützen.

There are more options available with transmissions, including specifying stored templates or recipient lists, cc and bcc, adding attachments, specifying a campaign, using substitution data, and much more. Check out the examples, Dokumente für die Ressource Übertragungen, and the Übertragungen API-Dokumentation for more info.


Bonus: E-Mail-Versand mit Nodemailer

Nodemailer is a popular library for Node.js that make sending email “easy as cake.” For those of you choosing to use this library, we created a SparkPost-Transport für Nodemailer. You’ll need to install the nodemailer  and nodemailer-sparkpost-transport packages in your project.

> 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, dass ich den API-Schlüssel aus einer Umgebungsvariablen lese. Es ist nach wie vor eine bewährte Praxis, dies niemals direkt in den Code zu schreiben.

There are several options that can passed into the SparkPost transport, like campaign id and whether or not the message is transactional. Take a look am README.md for all the options.

Hier sehen Sie, wie Sie die obige Nachricht mit Nodemailer versenden können:

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


Doppelter Bonus: E-Mail-Versand mit notif.me

We all know that email is king of communication but sometimes you want to be able to reach people via multiple channels. notif.me is a Node.js library for sending all kinds of transactional messages. Whether you want to send an email, sms, push, or webpushes, you can do it with ease. It also has built in fall and round robin strategies for multiple providers. We recently worked with the creators to build a SparkPost provider. You’ll need to install the `notifme-sdk` package in your project.

> npm install notifme-sdk --save

Sie können nun 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, }] } } })

Auch hier holen wir uns den API-Schlüssel aus einer Umgebungsvariablen. Wir haben es schon dreimal gesagt - so wichtig ist es. 🙂

Wiederholen wir nun das gleiche 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>Hello world</p>' } }).then(console.log)

It’s really easy to use and I recommend looking am andere Merkmale.

Es gibt keinen falschen Weg zum Node

Wenn es um den Versand von E-Mails mit Node.js geht, haben Sie viele Möglichkeiten. Wir haben hart daran gearbeitet, es so einfach wie möglich zu machen.

Your new standard in Marketing, Pay & Sales. It's Bird

Die right message -> zum right person -> at the right time.

By clicking "See Bird" you agree to Bird's Hinweis zum Datenschutz.

Your new standard in Marketing, Pay & Sales. It's Bird

Die right message -> zum right person -> at the right time.

By clicking "See Bird" you agree to Bird's Hinweis zum Datenschutz.