E-Mails per Sendgrid verschicken

Wenn Sie ein Abonnement des Magazins 'DATENBANKENTWICKLER' besitzen, können Sie sich anmelden und den kompletten Artikel lesen.
Anderenfalls können Sie das Abonnement hier im Shop erwerben.

E-Mails per Sendgrid verschicken

Wenn Sie am Desktop arbeiten, können Sie E-Mails einfach per Outlook verschicken. Das gelingt auch ferngesteuert etwa von einer Desktop-Anwendung auf Basis von .NET aus. Wenn Sie jedoch Mails sicher über eine Webanwendung verschicken wollen, wird es interessant. Sollten Sie keinen eigenen Mailserver auf dem Internetserver betreiben, können Sie auf einen Dienstleister ausweichen, der Ihnen eine entsprechende Schnittstelle anbietet. Microsoft empfiehlt hier den Anbieter Sendgrid. Wir zeigen, wie Sie sich registrieren und für den ASP-gesteuerten Versand von E-Mails vorbereiten. Der Clou: Bis zu einer bestimmten Menge von E-Mails ist der Service kostenlos.

Sendgrid

Sendgrid ist ein US-amerikanischer Anbieter, der erstmal eines für Sie erledigt: das Versenden von E-Mails. Dafür gibt es verschiedene Pakete, die sowohl die Menge der zu versendenden E-Mails als auch die Anzahl der zu speichernden Kontakte festlegen (siehe Bild 1). Das günstigste Paket heißt Free, was sich auf den monatlichen Preis bezieht – es ist nämlich kostenlos. Je mehr E-Mails verschickt und Adressen verwaltet werden sollen, desto höher sind die monatlichen Kosten. Für Testzwecke reicht uns jedoch das Paket Free völlig aus – hier können Sie 40.000 E-Mails in den ersten 30 Tagen und danach täglich 100 E-Mails verwenden.

Der E-Mail-Versender Sendgrid

Bild 1: Der E-Mail-Versender Sendgrid

Für eine Webseite, die ein paar Bestätigungsmails und ein paar Kontaktanfragen versendet, reicht das locker aus. Auch das nächstgrößere Paket, das bereits den Versand von 100.000 E-Mails pro Monat erlaubt, kostet nur 9,95 $ pro Monat.

E-Mails und mehr

Neben dem über verschiedene Schnittstellen steuerbaren Versand von E-Mail liefert der Anbieter noch weitere Dienstleistungen – so können Sie etwa Newsletter darüber versenden und die dazu notwendigen Kontakte verwalten. Dabei sind typische Funktionen wie etwa das Bereitstellen eines Abmeldelink für den Newsletter und automatisches Austragen aus der Empfängerliste bereits implementiert. Wer etwa eine Newsletter-Anmeldung per Double-Opt-In realisieren möchte, muss allerdings eine eigene Funktion dafür implementieren.

Kostenloses Paket

Wir wählen für den Beginn das Paket Free aus. Aktuell wollen wir diesen Dienstleister dafür nutzen, die in dem Artikel Authentifizierung unter ASP.NET Core benötigten Bestätigungsmails zu versenden.

Nach der Auswahl des gewünschten Pakets und dem Anklicken des Links Try for free landen Sie auf der Registrierungsseite. Hier geben Sie den Benutzernamen, das Kennwort und Ihre E-Mail-Adresse an. Nach dem Bestätigen der obligatorischen Optionen geht es dann mit einem Klick auf Create Account weiter (siehe Bild 2). Im Bereich rechts können Sie die aktuell anfallenden Kosten einsehen.

Beispielfenster zum Versenden von E-Mails

Bild 2: Beispielfenster zum Versenden von E-Mails

Die folgende Seite fragt dann noch einige persönliche Daten ab, bevor es nach einem Klick auf Get Startet! losgeht. Auf der Willkommen-Seite können wir nun auswählen, auf welche Weise wir mit Sendgrid arbeiten wollen. Wir möchten Mails per Web API verschicken, also wählen wir den passenden Start-Button (siehe Bild 3).

Auswahl des benötigten Services

Bild 3: Auswahl des benötigten Services

Der nächste Dialog fragt nach einer Setup-Methode. Hier haben Sie die Auswahl zwischen Web API und SMTP Relay. Wir wählen hier den Eintrag Web API, da wir den Versand per C# programmieren wollen. Noch eine Seite später wählen Sie die Sprache aus, mit der Sie auf die Web API zugreifen wollen. Hier fällt die Wahl auf C#.

Danach müssen wir wieder arbeiten: Als Erstes prüfen wir die Voraussetzungen, die hier mit .NET 4.5.2 angegeben sind. Diese müssen Sie erfüllen. Als Zweites legen wir einen API-Key an, der einen sicheren Zugriff von der Web-Anwendung auf die Schnittstelle von Sendgrid erlaubt. Dazu geben Sie unter Create an API key einen Namen für den Key ein, beispielsweise APIKey1, und klicken auf Create Key. Dann erhalten Sie den Key wie in Bild 4. Den dritten Schritt mit dem Titel Create an environment variable überspringen wir zunächst.

Erfolgreich angelegter API-Key

Bild 4: Erfolgreich angelegter API-Key

Projekt anlegen und fortfahren

Dafür fahren wir mit dem vierten Schritt fort, für den Sie zunächst ein neues Projekt erstellen. Zu Beispielzwecken legen wir eine einfache C#-Konsolenanwendung an. Bevor wir die Anwendung nun mit dem Beispielcode versehen, müssen wir noch das Sendgrid-Paket hinzufügen. Dann folgt der vierte Schritt auf der Sendgrid-Webseite: Install the package. Ziel dieses Schritts ist die Installation des NuGet-Pakets für den Zugriff auf Sendgrid. Dazu starten Sie den NuGet-Dialog über den Kontextmenü-Eintrag NuGet-Pakete verwalten... des Projekts im Projektmappen-Explorer. Hier wechseln Sie zum Bereich Durchsuchen und suchen nach dem Eintrag Sendgrid. Diesen markieren Sie dann und klicken im rechten Bereich auf die Schaltfläche Installieren (siehe Bild 5).

Installieren des NuGet-Pakets Sendgrid

Bild 5: Installieren des NuGet-Pakets Sendgrid

Die Sendgrid-Bibliothek finden Sie dann beispielsweise im Projektmappen-Explorer unter |Abhängigkeiten|NuGet (siehe Bild 6).

Die Sendgrid-Erweiterung in den Verweisen

Bild 6: Die Sendgrid-Erweiterung in den Verweisen

Test-E-Mail versenden

Um eine Test-E-Mail zu versenden, fügen wir der Klasse Program den folgenden Code hinzu. Für die darin verwenden Objekttypen benötigen wir allerdings noch ein paar using-Anweisungen, die wir im Kopf der Klassendatei unterbringen:

Dies war die Leseprobe dieses Artikels.
Melden Sie sich an, um auf den vollständigen Artikel zuzugreifen.

Bitte geben Sie die Zeichenfolge in das nachfolgende Textfeld ein

Die mit einem * markierten Felder sind Pflichtfelder.

Neues aus unseren Magazinen
Listenfeld: Reihenfolge mehrerer Einträge...

Wir haben bereits in mehreren Beiträgen beschrieben, wie Sie die individuelle Reihenfolge von Elementen einer Tabelle über den Inhalt eines Feldes etwa namens »ReihenfolgeID« einstellen können –... [mehr]

Diagramme mit gefilterten Daten

In Ausgabe 2/2019 haben wir in zwei Artikeln die modernen Diagramme von Access vorgestellt. Im vorliegenen Beitrag zeigen wir Ihnen, wie Sie diese abhängig von den in einem Formular angezeigten... [mehr]

Benutzerverwaltung mit verschlüsselten...

Wenn Sie in einer Access-Anwendung Benutzer verwalten wollen, die sich per Benutzername und Kennwort an die Anwendung anmelden, sollten Sie sehr sensibel mit den in der Anwendung gespeicherten... [mehr]

HTML-Tabellen mit fester Kopfzeile

In den vorherigen Ausgaben von Access im Unternehmen und in der aktuellen Ausgabe arbeiten wir in einigen Beiträgen mit dem Webbrowser-Steuerelement und stellen Daten, die wir mit den Bordmitteln... [mehr]

Flexible HTML-Tabellen mit fester Kopfzeile

Im Beitrag »HTML-Tabellen mit fester Kopfzeile« haben wir gezeigt, wie Sie Daten aus einer bestimmten Abfrage in einem Webbrowser-Steuerelement so anzeigen, dass die Spaltenköpfe oben fixiert... [mehr]

Berechtigungen per HTML verwalten

Im Beitrag »Benutzerverwaltung mit verschlüsselten Kennwörtern« stellen wir eine Lösung vor, in der wir die Berechtigungen von Benutzergruppen an Datenbankobjekten definieren. Dort benötigen wir... [mehr]

Benutzer und Berechtigungen ermitteln

In den Beiträgen »Benutzerverwaltung mit verschlüsselten Kennwörtern« und »Berechtigungen per HTML verwalten« haben wir die Voraussetzungen für eine Benutzerverwaltung geschaffen. Im vorliegenden... [mehr]

Zugriffsrechte mit Datenmakros

Es gibt verschiedene Möglichkeiten, auf Basis des aktuell angemeldeten Benutzers sicherzustellen, dass dieser nur die für ihn vorgesehenen Aktionen mit Daten durchführen darf – beispielsweise durch... [mehr]

Kennwörter generieren

Für den einen oder anderen Zweck möchten Sie vielleicht Kennwörter generieren oder in einer Benutzeroberfläche die Möglichkeit zum Generieren von Kennwörtern anbieten. Wenn Sie etwa Benutzer zu... [mehr]

Neuer Datensatz von Frontend zu Backend

Für manche Themen gibt es keine kurze, prägnante Überschrift. In diesem Fall wollen wir zeigen, wie Sie einen neuen Datensatz anlegen, der in einer temporären Tabelle im Frontend gespeichert wird,... [mehr]