Senden von E-Mails in JavaScript/Node.js mit SendGrid

May 07, 2019
Autor:in:
Sam Agnew
Twilion

Senden von E-Mails in JavaScript/Node.js mit SendGrid


Hallo und Danke fürs Lesen! Dieser Blogpost ist eine Übersetzung von How to Send Emails in JavaScript/Node.js with SendGrid. Während wir unsere Übersetzungsprozesse verbessern, würden wir uns über Dein Feedback an help@twilio.com freuen, solltest Du etwas bemerken, was falsch übersetzt wurde. Wir bedanken uns für hilfreiche Beiträge mit Twilio Swag :)

Du bist dabei, eine Node.js-Anwendung zu entwickeln, und musst programmgesteuert E-Mails senden können. Das Twilio SendGrid-API zum Senden von E-Mails ist eine großartige Lösung für dieses Problem. Wenn du über ein SendGrid-Konto verfügst und einen API-Schlüssel als Umgebungsvariable eingestellt hast, findest du hier den gesamten Code, um eine E-Mail in JavaScript zu senden:

const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
const msg = {
  to: test@example.com',
  from: 'test@example.com',
  subject: 'Sending with SendGrid is Fun',
  text: 'and easy to do anywhere, even with Node.js',
  html: '<strong>and easy to do anywhere, even with Node.js</strong>',
};
sgMail.send(msg);

Wir gehen nun Schritt für Schritt durch, wie wir dies erreichen.

Einrichten der Entwicklungsumgebung

Achte darauf, dass du die richtige Software installiert hast, die wir für den weiteren Verlauf dieses Blog-Beitrags benötigen. Du brauchst Folgendes:

Hier findest du einen guten Leitfaden zur Einrichtung deiner Entwicklungsumgebung, sofern du planst, Node.js für weitere Webentwicklungsprojekte einzusetzen.

Anmelden für SendGrid und Erstellen eines API-Schlüssels

Zunächst musst du ein SendGrid-Konto anlegen. Für dieses Tutorial kannst du die kostenlose Option wählen. Sobald du ein Konto hast, musst du als Nächstes einen API-Schlüssel erstellen, wie in diesem Screenshot gezeigt. Du kannst den API-Schlüssel beliebig benennen, aber achte darauf, ihn nach der Erstellung zu speichern, bevor du fortfährst!

screenshot

Eine gute Idee ist es, diesen API-Schlüssel beim Speichern als Umgebungsvariable festzulegen, auf die wir über unseren JavaScript-Code zugreifen können. Dadurch vermeiden wir, ihn direkt in unseren Code schreiben zu müssen. Wir legen den Wert der Umgebungsvariablen SENDGRID_API_KEY auf den API-Schlüssel unseres SendGrid-Kontos fest. In diesem Tutorial wird anschaulich beschrieben, wie Umgebungsvariablen festgelegt werden. Davon machen wir später noch Gebrauch.

Senden von E-Mails mit Node.js

Nun da wir ein SendGrid-Konto und einen API-Schlüssel haben, können wir Code programmieren und E-Mails senden! Wir öffnen zunächst das Terminal und navigieren zu dem Verzeichnis, in dem wir das Projekt speichern wollen. Dann führen wir den folgenden Befehl aus, um eine package.json-Datei zu initiieren, damit npm die Abhängigkeiten installiert:

npm init --yes

Danach installieren wir die SendGrid-Hilfebibliothek für Node:

npm install @sendgrid/mail

Wir erstellen eine Datei mit dem Namen index.js in diesem Verzeichnis und geben den folgenden Code darin ein:

const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
const msg = {
  to: test@example.com',
  from: 'test@example.com',
  subject: 'Sending with SendGrid is Fun',
  text: 'and easy to do anywhere, even with Node.js',
  html: '<strong>and easy to do anywhere, even with Node.js</strong>',
};
sgMail.send(msg);

Bevor wir diesen Code ausführen, müssen wir sicherstellen, dass wir die Umgebungsvariable SENDGRID_API_KEY festgelegt haben. Außerdem müssen wir noch den Wert für to durch unsere eigene E-Mail-Adresse ersetzen, damit wir überprüfen können, ob unser Code auch richtig funktioniert.

Abschließend führen wir im Terminal den folgenden Befehl für diesen Code aus, um uns selbst ein Bild einer E-Mail zu schicken:

node index.js

Wenn wir jetzt in unserem Posteingang nachsehen, sollten wir in etwa Folgendes sehen.

email

Wie geht es weiter?

Du hast gerade erfolgreich deine erste E-Mail mit Node.js gesendet. Reicht dir das noch nicht? Mit dem Inbound Email Parse Webhook von SendGrid kannst du auch eingehende E-Mails verarbeiten und darauf antworten. Außerdem enthält die Dokumentation zu SendGrid jede Menge weitere nützliche Funktionen und Verwendungen.

Ich bin gespannt auf eure Ergebnisse. Ihr könnt mich gerne kontaktieren, um eure Erfahrungen zu teilen oder Fragen zu stellen.

  • E-Mail: sagnew@twilio.com
  • Twitter: @Sagnewshreds
  • Github: Sagnew
  • Twitch (Live-Code-Streaming): Sagnewshreds