Heim > Web-Frontend > js-Tutorial > Implementieren des Gmail-Versands mit Cloudflare Workers – Einrichtungshandbuch

Implementieren des Gmail-Versands mit Cloudflare Workers – Einrichtungshandbuch

Linda Hamilton
Freigeben: 2024-11-28 14:19:16
Original
381 Leute haben es durchsucht

Implementing Gmail Sending with Cloudflare Workers - Setup Guide

Dies ist Teil 1 einer Serie zur Implementierung des Gmail-Versands mit Cloudflare Workers:

  • Teil 1: Setup (Aktuell)
  • Teil 2: Entwicklungsumgebung (in Kürze erhältlich)
  • Teil 3: Implementierung (in Kürze verfügbar)

Einführung

Bei der Implementierung von Kontaktformularen auf statischen Websites, die auf Cloudflare Pages gehostet werden, erfordert die E-Mail-Versandfunktion eine serverlose Lösung. In dieser Anleitung wird gezeigt, wie Sie die Gmail-API mit Cloudflare Workers für die Verarbeitung von Formularübermittlungen einrichten.

Einschränkungen für Cloudflare-Mitarbeiter

Bei der Arbeit mit Cloudflare Workers sind zwei wesentliche Einschränkungen zu berücksichtigen:

  1. Google API-Paket nicht verfügbar:

    • Cloudflare Workers ist keine Node.js-Umgebung
    • Direkte HTTP-Anfragen an Google API REST-Endpunkte müssen anstelle der Node.js-Clientbibliotheken verwendet werden
  2. Nodemailer-Paket nicht verfügbar:

    • Nodemailer hängt von der Node.js-Umgebung ab
    • Kann nicht in Cloudflare Workers verwendet werden

Einrichtungsprozess

1. Erstellen Sie ein Dienstkonto

  1. Greifen Sie auf die Google Cloud Console zu
  2. Erstellen Sie ein neues Projekt oder wählen Sie ein vorhandenes aus
  3. Navigieren Sie zu „IAM & Admin“ > „Dienstkonten“
  4. Klicken Sie auf „Dienstkonto erstellen“
  5. Geben Sie den Namen und die Beschreibung des Dienstkontos ein
  6. Überspringen Sie optionale Einstellungen und klicken Sie auf „Fertig“
  7. Notieren Sie sich die OAuth2-Client-ID für die spätere Verwendung

2. Erforderliche Rollen zuweisen

  1. Navigieren Sie zu „IAM & Admin“ > „IAM“
  2. Wählen Sie den entsprechenden Auftraggeber aus
  3. Klicken Sie auf „Zugriff gewähren“
  4. Fügen Sie das Dienstkonto als neues Prinzipal hinzu
  5. Weisen Sie folgende Rollen zu:
    • Dienstkontoadministrator
    • Dienstkontoschlüsselverwaltung
    • Dienstkonto-Token-Ersteller
    • IAP-Richtlinienadministrator
  6. Speichern Sie die Änderungen

3. Aktivieren Sie die Gmail-API

  1. Navigieren Sie zu „APIs & Dienste“ > „Bibliothek“
  2. Suchen Sie nach „gmail“
  3. Wählen Sie „Gmail API“
  4. Klicken Sie auf „Aktivieren“

4. Fügen Sie die Rolle „Organisationsrichtlinienadministrator“ hinzu

  1. Navigieren Sie zu „IAM & Admin“ > „IAM“
  2. Bearbeiten Sie den Organisationsadministrator
  3. Rolle „Organisationsrichtlinienadministrator“ hinzufügen
  4. Änderungen speichern

5. Deaktivieren Sie die Richtlinie zur Erstellung von Dienstkontoschlüsseln

  1. Navigieren Sie zu „IAM & Admin“ > „Organisationsrichtlinien“
  2. Filtern Sie nach „iam.disableServiceAccountKeyCreation“
  3. Klicken Sie auf den Richtlinienlink
  4. Klicken Sie auf „Richtlinie verwalten“
  5. Wählen Sie „Übergeordnete Richtlinie außer Kraft setzen“
  6. Regel hinzufügen und auf „Erzwungen“ setzen
  7. Klicken Sie auf „Fertig“

6. Dienstkontoschlüssel generieren

  1. Navigieren Sie zu „IAM & Admin“ > „Dienstkonten“
  2. Wählen Sie das erstellte Dienstkonto aus
  3. Gehen Sie zur Registerkarte „Schlüssel“
  4. Klicken Sie auf „Schlüssel hinzufügen“ > „Neuen Schlüssel erstellen“
  5. JSON-Format auswählen
  6. Erstellen und speichern Sie die heruntergeladene JSON-Datei sicher

7. Konfigurieren Sie die domänenweite Delegation

  1. Greifen Sie auf die Google Workspace-Administratorkonsole zu
  2. Navigieren Sie zu Sicherheit > Zugriffs- und Datenkontrolle > API-Steuerelemente
  3. Klicken Sie auf „Domänenweite Delegation verwalten“
  4. Neue Kunden-ID hinzufügen:
    • Geben Sie die Kunden-ID des Dienstkontos ein
    • Bereich hinzufügen: https://www.googleapis.com/auth/gmail.send
  5. Klicken Sie auf „Autorisieren“

Hinweis: Die domänenweite Delegation sollte in größeren Organisationen aus Sicherheitsgründen sorgfältig geprüft werden.

Zusätzliche Konfiguration

Denken Sie beim Senden von E-Mails über Gmail-Aliase daran, die Alias-Adresse hinzuzufügen:

  1. Gehen Sie zu Gmail-Einstellungen > Konten
  2. Fügen Sie die Alias-E-Mail-Adresse über „Weitere E-Mail-Adresse hinzufügen“ hinzu

Wichtiger Hinweis zu kostenlosen E-Mail-Diensten

Zuvor wurde die MailChannels Send API weithin als kostenlose E-Mail-Versandlösung für Cloudflare-Mitarbeiter empfohlen. Zum 30. Juni 2024 wurde die Integration zwischen MailChannels und Cloudflare jedoch eingestellt. Dies hat sich auf viele Entwickler ausgewirkt, die sich beim E-Mail-Versand auf diesen Dienst verlassen haben.

Viele KI-Sprachmodelle schlagen MailChannels immer noch als Lösung vor, da ihre Trainingsdaten vor dieser Einstellung des Dienstes erstellt wurden. Diese Situation unterstreicht, wie wichtig es ist, die aktuelle Serviceverfügbarkeit zu überprüfen, insbesondere bei der Arbeit mit Integrationen von Drittanbietern.

Die in diesem Leitfaden beschriebene Gmail-API-Implementierung dient als zuverlässige Alternative, erfordert jedoch im Vergleich zur vorherigen MailChannels-Lösung mehr anfänglichen Einrichtungsaufwand.

Nächste Schritte

Der nächste Artikel dieser Reihe befasst sich mit der Einrichtung der Entwicklungsumgebung und den Implementierungsdetails für die Verwendung der Gmail-API mit Cloudflare Workers.

Das obige ist der detaillierte Inhalt vonImplementieren des Gmail-Versands mit Cloudflare Workers – Einrichtungshandbuch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage