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:
-
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
-
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
- Greifen Sie auf die Google Cloud Console zu
- Erstellen Sie ein neues Projekt oder wählen Sie ein vorhandenes aus
- Navigieren Sie zu „IAM & Admin“ > „Dienstkonten“
- Klicken Sie auf „Dienstkonto erstellen“
- Geben Sie den Namen und die Beschreibung des Dienstkontos ein
- Überspringen Sie optionale Einstellungen und klicken Sie auf „Fertig“
- Notieren Sie sich die OAuth2-Client-ID für die spätere Verwendung
2. Erforderliche Rollen zuweisen
- Navigieren Sie zu „IAM & Admin“ > „IAM“
- Wählen Sie den entsprechenden Auftraggeber aus
- Klicken Sie auf „Zugriff gewähren“
- Fügen Sie das Dienstkonto als neues Prinzipal hinzu
- Weisen Sie folgende Rollen zu:
- Dienstkontoadministrator
- Dienstkontoschlüsselverwaltung
- Dienstkonto-Token-Ersteller
- IAP-Richtlinienadministrator
- Speichern Sie die Änderungen
3. Aktivieren Sie die Gmail-API
- Navigieren Sie zu „APIs & Dienste“ > „Bibliothek“
- Suchen Sie nach „gmail“
- Wählen Sie „Gmail API“
- Klicken Sie auf „Aktivieren“
4. Fügen Sie die Rolle „Organisationsrichtlinienadministrator“ hinzu
- Navigieren Sie zu „IAM & Admin“ > „IAM“
- Bearbeiten Sie den Organisationsadministrator
- Rolle „Organisationsrichtlinienadministrator“ hinzufügen
- Änderungen speichern
5. Deaktivieren Sie die Richtlinie zur Erstellung von Dienstkontoschlüsseln
- Navigieren Sie zu „IAM & Admin“ > „Organisationsrichtlinien“
- Filtern Sie nach „iam.disableServiceAccountKeyCreation“
- Klicken Sie auf den Richtlinienlink
- Klicken Sie auf „Richtlinie verwalten“
- Wählen Sie „Übergeordnete Richtlinie außer Kraft setzen“
- Regel hinzufügen und auf „Erzwungen“ setzen
- Klicken Sie auf „Fertig“
6. Dienstkontoschlüssel generieren
- Navigieren Sie zu „IAM & Admin“ > „Dienstkonten“
- Wählen Sie das erstellte Dienstkonto aus
- Gehen Sie zur Registerkarte „Schlüssel“
- Klicken Sie auf „Schlüssel hinzufügen“ > „Neuen Schlüssel erstellen“
- JSON-Format auswählen
- Erstellen und speichern Sie die heruntergeladene JSON-Datei sicher
7. Konfigurieren Sie die domänenweite Delegation
- Greifen Sie auf die Google Workspace-Administratorkonsole zu
- Navigieren Sie zu Sicherheit > Zugriffs- und Datenkontrolle > API-Steuerelemente
- Klicken Sie auf „Domänenweite Delegation verwalten“
- Neue Kunden-ID hinzufügen:
- Geben Sie die Kunden-ID des Dienstkontos ein
- Bereich hinzufügen: https://www.googleapis.com/auth/gmail.send
- 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:
- Gehen Sie zu Gmail-Einstellungen > Konten
- 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!