So senden Sie E-Mails mit Firebase

Blog

So senden Sie E-Mails mit Firebase

Wir alle haben es schon 1.000 Mal gemacht: Sie erstellen eine neue App und müssen dynamische E-Mail-Funktionen hinzufügen. Aber es scheint, als würde man das Rad jedes Mal neu erfinden; einen neuen E-Mail-Anbieter einrichten, installieren Lenker (wenn Sie keine Lenker verwenden, sollten Sie dies wirklich tun), Protokollierung usw.



Das Firebase-Team hat kürzlich einen etwas einfacheren E-Mail-Prozess eingeführt, der meiner Meinung nach etwa 20 % der Schmerzen beseitigt: E-Mail-Erweiterung auslösen . Es ist Teil der Erweiterungssuite mit vorgefertigten Funktionen. Hinweis: Die Erweiterung befindet sich offiziell in der Beta-Phase, aber ich hatte noch nie ein Problem.

Das Gute, das Nicht-So-Gute

Bevor wir uns mit der Einrichtung von Trigger Email befassen, werde ich hervorheben, was mir an der Erweiterung gefällt und was mir lästig ist.



wo kann ich sand kaufen

Das gute

  • Einfach einzurichten und zu verwenden
  • Unterstützt Text- und HTML-E-Mails sowie Lenkervorlagen
  • Zeichnet alle E-Mails in einer Sammlung auf und protokolliert das Senden und Fehler

Das nicht so gute

  • Verlust der Funktionalität des E-Mail-Absenders. Mailgun unterstützt beispielsweise verzögerte Sendezeiten. Dies ist mit der Erweiterung nicht möglich.
  • In einer Sammlung gespeicherte Lenkervorlagen. Dies erfordert einen zusätzlichen Schritt zum Einfügen/Aktualisieren in der Sammlung. Ich habe es ein paar Mal vergessen und mich gefragt, warum meine E-Mail nicht meine neuesten Änderungen widerspiegelt.
  • Mögliche Zusatzkosten, da Sie bei jedem E-Mail-Versand auf die Datenbank zugreifen und eine Cloud-Funktion ausführen. Wenn Sie viele E-Mails senden, kann dies hohe Kosten verursachen.

So funktioniert die Trigger-E-Mail-Erweiterung

Eigentlich ganz einfach. Sie fügen die E-Mail, die Sie senden möchten, in die Firestore-Datenbank und eine Cloud-Funktion (bereitgestellt vom Firebase-Team) ein, die beim Schreiben von Dokumenten ausgeführt wird. Die Funktion nimmt die E-Mail-Daten, wendet die Lenker-Vorlage (sofern zutreffend) an und sendet sie über den E-Mail-Anbieter, den Sie während der Einrichtung angeben.

Sie können die Funktion sogar auf der Registerkarte 'Funktionen' in der Firebase-Konsole sehen.



Das ist der Bildtitel

Einrichten der Trigger-E-Mail-Erweiterung

  1. Klicken Sie in der unteren linken Ecke Ihrer Firebase-Konsole auf den Link Erweiterungen.

Das ist der Bildtitel

2. Wählen Sie Installieren auf der Trigger-E-Mail-Karte – oder wählen Sie Weitere Informationen, um einen vollständigen Überblick über die Erweiterung zu erhalten.

Das ist der Bildtitel

3. Sie befinden sich beim vierstufigen Assistenten. Sie können die Quellcode wenn du neugierig bist. Die wichtigen Teile dieses Assistenten sind das Einrichten der Abrechnung (d. h., wenn Sie im Spark-Plan sind, müssen Sie auf den Blaze-Plan aktualisieren), das Gewähren des Zugriffs auf die E-Mail-Funktion und das Konfigurieren der Erweiterung (siehe 4 unten).

Das ist der Bildtitel

vsys-Münzenpreisvorhersage

4. Für die Konfiguration der Nebenstelle benötigen Sie einen E-Mail-Anbieter, wie z Sendegitter , Mailgun , oder Stempel . Rufen Sie bei Ihrem E-Mail-Anbieter den SMTP-URI ab. Diese enthält in der Regel die Domain und den API-Schlüssel des Anbieters. Sobald Sie die SMTP-URI von Ihrem Provider erhalten haben, fügen Sie diese in das Feld |_+_| ein. Sehen Sie bei Problemen in der Dokumentation Ihres Anbieters nach.

Legen Sie als Nächstes die E-Mail-Dokumentensammlung fest, in die Sie Ihre E-Mails schreiben möchten (die meisten verwenden nur E-Mail). Machen Sie sich keine Sorgen, die E-Mail-Sammlung im Voraus zu erstellen. Es wird automatisch erstellt, wenn Sie zum ersten Mal darauf schreiben.

Das ist der Bildtitel

Sie müssen auch Ihre FROM-E-Mail- und ANTWORT-AN-E-Mail-Adressen festlegen.

Kurztipp: Mit der neuesten Version der E-Mail-Triggerfunktion können Sie einen Absendernamen angeben, z. B. John Smith. Verwenden Sie einfach dieses Format im FROM-Feld:

SMTP connection URI

Schließlich können Sie optional eine Benutzersammlung oder eine Vorlagensammlung angeben.

Benutzersammlung: Eine Sammlung von Dokumenten, die nach Benutzer-UID verschlüsselt sind. Wenn |_+_|, |_+_| und/oder |_+_| Empfängeroptionen im hinzugefügten E-Mail-Dokument verwendet werden, liefert diese Erweiterung E-Mails an die |_+_| -Feld basierend auf Suchvorgängen in dieser Sammlung.

Vorlagensammlung: Eine Sammlung von E-Mail-Vorlagen mit Namen. Diese Erweiterung kann eine E-Mail mit a . rendern Lenker Vorlage, wenn die Vorlage im hinzugefügten E-Mail-Dokument angegeben ist.

Wir werden später mehr über die Vorlagensammlung sprechen. Siehe auch unten im Referenzabschnitt für die verfügbaren Felder.

Und das ist es. Ihre Trigger-E-Mail ist eingerichtet.

Slack to Google Sheets

Senden Sie Ihre erste E-Mail

Jetzt ist es an der Zeit, Ihre erste E-Mail zu senden. Beginnen wir mit einer einfachen Text-/HTML-E-Mail. Wir geben ein Beispiel von der Serverseite oder Cloud-Funktion.

John Smith

In diesem Beispiel speichern wir unsere E-Mail in der Mail-Sammlung als Objekt, das den to-String (oder Array, wenn mehrere E-Mails) und das Nachrichtenobjekt enthält, das den E-Mail-Betreff und den HTML-Inhalt enthält.

Sobald Sie Ihre E-Mail in der Sammlung gespeichert haben, sind Sie fertig. Die Cloud-Funktion Trigger Email holt die E-Mail ab, verarbeitet sie und sendet sie an Ihren Mail-Provider.

Hinzufügen einer Lenkervorlage

Lassen Sie uns eine Stufe höher gehen und eine Handlebars-Vorlage verwenden, die beim Senden dynamischer E-Mails wirklich der beste Weg ist.

  1. Erstellen Sie Ihre E-Mail als Handlebars-Vorlage. Wenn Sie Hilfe benötigen, folgen Sie a Handbuch .
  2. Erstellen Sie eine neue Firestore-Sammlung namens |_+_| und ein Dokument in der Sammlung namens |_+_|. Wie Sie sich vorstellen können, senden wir zunächst eine Willkommens-E-Mail.
  3. In den Firestore |_+_| Dokument, erstellen Sie ein neues String-Feld namens |_+_| und legen Sie den Wert als Inhalt Ihrer Handlebars-Vorlage fest. Fügen Sie außerdem ein zweites Feld hinzu |_+_| und setzen Sie den Wert auf einen beliebigen Betreff der E-Mail. Sie können auch Handlebar-Ausdrücke im Betreff {{ … }} verwenden.

Das ist der Bildtitel

4. Jetzt können Sie eine E-Mail senden. Hier ist ein Beispiel, wiederum auf der Serverseite.

toUids

Trigger Email sucht nach der Vorlage |_+_| und übergeben Sie die |_+_| -Objekt, das auf die Handlebar-Ausdrücke angewendet werden soll. Und Ihre E-Mail wird gesendet.

numpy-Array in int umwandeln

E-Mail-Sicherheit

Wie das Firebase-Team feststellt:

Diese Erweiterung kann verwendet werden, um die E-Mail-Zustellung direkt aus Clientanwendungen auszulösen. Sie sollten jedoch den Clientzugriff auf die ccUids Sammlung, um möglichen Missbrauch zu vermeiden (Sie möchten nicht, dass Benutzer beliebige E-Mails von Ihrer Firmenadresse aus senden können!).

Der beste Weg, den ich gefunden habe, ist, Vorlagen zu verwenden und E-Mails nur von der Serverseite aus zu senden. Sie können eine universelle Funktion schreiben, die die UID und den Vorlagennamen verwendet, um einzuschränken, wer die E-Mails erhält und was gesendet werden kann.

Firebase Trigger-E-Mail-Referenz

Verfügbare Absender- und Empfängerfelder:

  • |_+_|: Die E-Mail-Adresse des Absenders. Wenn im Dokument nicht angegeben, wird der konfigurierte Parameter Default FROM address verwendet.
  • |_+_|: Die Antwort-E-Mail-Adresse. Wenn im Dokument nicht angegeben, wird der konfigurierte Adressparameter Default REPLY-TO verwendet.
  • |_+_|: Eine einzelne Empfänger-E-Mail-Adresse oder ein Array mit mehreren Empfänger-E-Mail-Adressen.
  • |_+_|: Ein Array mit den Empfänger-UIDs.
  • cc: Eine einzelne Empfänger-E-Mail-Adresse oder ein Array mit mehreren Empfänger-E-Mail-Adressen.
  • |_+_|: Ein Array mit den CC-Empfänger-UIDs.
  • |_+_|: Eine einzelne Empfänger-E-Mail-Adresse oder ein Array mit mehreren Empfänger-E-Mail-Adressen.
  • |_+_|: Ein Array, das die BCC-Empfänger-UIDs enthält.
  • |_+_|: Ein Objekt zusätzlicher Header-Felder (zB |_+_|).

Hinweis: Die |_+_|, |_+_| und |_+_| -Optionen liefern E-Mails basierend auf Benutzer-UIDs, die mit E-Mail-Adressen in einem Cloud Firestore-Dokument verknüpft sind. Um diese Empfängeroptionen zu verwenden, müssen Sie eine Cloud Firestore-Sammlung für den Sammlungsparameter Users der Erweiterung angeben. Die Erweiterung kann dann die |_+_| . lesen Feld für jede UID, die in |_+_|, |_+_| und/oder |_+_| . angegeben ist Felder.

Das Vorlagendokument kann eines der folgenden Felder enthalten:

  • |_+_|: Eine Vorlagenzeichenfolge für den Betreff der E-Mail
  • |_+_|: Ein Vorlagenstring für den Klartextinhalt der E-Mail
  • |_+_|: Ein Vorlagenstring für den HTML-Inhalt der E-Mail
  • |_+_|: Ein Vorlagenstring für die AMP4EMAIL Inhalt der E-Mail

Vielen Dank fürs Lesen.

Excel speichert die Formatierung nicht

#firebase #javascript #programmierung #email