Ceci est la première partie d'une série sur la mise en œuvre de l'envoi de Gmail avec Cloudflare Workers :
- Partie 1 : Configuration (actuelle)
- Partie 2 : Environnement de développement (à venir)
- Partie 3 : Mise en œuvre (à venir)
Introduction
Lors de la mise en œuvre de formulaires de contact sur des sites Web statiques hébergés sur Cloudflare Pages, la fonctionnalité d'envoi d'e-mails nécessite une solution sans serveur. Ce guide montre comment configurer l'API Gmail avec Cloudflare Workers pour gérer les envois de formulaires.
Contraintes des travailleurs Cloudflare
Lorsque vous travaillez avec Cloudflare Workers, il y a deux limitations majeures à prendre en compte :
-
Package API Google indisponible :
- Cloudflare Workers n'est pas un environnement Node.js
- Les requêtes HTTP directes vers les points de terminaison REST de l'API Google doivent être utilisées à la place des bibliothèques clientes Node.js
-
Pack Nodemailer indisponible :
- Nodemailer dépend de l'environnement Node.js
- Ne peut pas être utilisé dans Cloudflare Workers
Processus de configuration
1. Créez un compte de service
- Accéder à Google Cloud Console
- Créez un nouveau projet ou sélectionnez-en un existant
- Accédez à « IAM et administrateur » > "Comptes de service"
- Cliquez sur "Créer un compte de service"
- Entrez le nom et la description du compte de service
- Ignorez les paramètres facultatifs et cliquez sur "Terminé"
- Notez l'ID client OAuth2 pour une utilisation ultérieure
2. Attribuer les rôles requis
- Accédez à « IAM et administrateur » > "IAM"
- Sélectionnez le principal concerné
- Cliquez sur "Accorder l'accès"
- Ajouter le compte de service en tant que nouveau compte principal
- Attribuez les rôles suivants :
- Administrateur du compte de service
- Administrateur de clé de compte de service
- Créateur de jetons de compte de service
- Administrateur de la stratégie IAP
- Enregistrez les modifications
3. Activez l'API Gmail
- Accédez à « API et services » > "Bibliothèque"
- Recherchez "gmail"
- Sélectionnez « API Gmail »
- Cliquez sur "Activer"
4. Ajouter un rôle d'administrateur de stratégie d'organisation
- Accédez à « IAM et administrateur » > "IAM"
- Modifier l'administrateur de l'organisation
- Ajouter le rôle « Administrateur de la politique de l'organisation »
- Enregistrer les modifications
5. Désactiver la politique de création de clé de compte de service
- Accédez à « IAM et administrateur » > "Politiques de l'organisation"
- Filtre pour "iam.disableServiceAccountKeyCreation"
- Cliquez sur le lien de la politique
- Cliquez sur « Gérer la politique »
- Sélectionnez « Remplacer la stratégie parent »
- Ajouter une règle et définir sur "Appliqué"
- Cliquez sur "Terminé"
6. Générer une clé de compte de service
- Accédez à « IAM et administrateur » > "Comptes de service"
- Sélectionnez le compte de service créé
- Allez dans l'onglet "Clés"
- Cliquez sur "Ajouter une clé" > "Créer une nouvelle clé"
- Sélectionnez le format JSON
- Créez et stockez en toute sécurité le fichier JSON téléchargé
7. Configurer la délégation à l'échelle du domaine
- Accéder à la console d'administration Google Workspace
- Accédez à Sécurité > Accès et contrôle des données > Contrôles API
- Cliquez sur « Gérer la délégation à l'échelle du domaine »
- Ajouter un nouvel identifiant client :
- Entrez l'ID client du compte de service
- Ajouter une portée : https://www.googleapis.com/auth/gmail.send
- Cliquez sur "Autoriser"
Remarque : La délégation à l'échelle du domaine doit être soigneusement envisagée dans les grandes organisations en raison des implications en matière de sécurité.
Configuration supplémentaire
Lors de l'envoi d'e-mails à partir d'alias Gmail, n'oubliez pas d'ajouter l'adresse de l'alias :
- Accédez aux paramètres Gmail > Comptes
- Ajoutez l'adresse e-mail alias via "Ajouter une autre adresse e-mail"
Remarque importante sur les services de messagerie gratuits
Auparavant, l'API MailChannels Send était largement recommandée comme solution d'envoi d'e-mails gratuite pour les travailleurs Cloudflare. Cependant, depuis le 30 juin 2024, l'intégration entre MailChannels et Cloudflare a été interrompue. Cela a affecté de nombreux développeurs qui comptaient sur ce service pour leurs besoins d'envoi d'e-mails.
De nombreux modèles de langage d'IA suggèrent toujours MailChannels comme solution car leurs données de formation sont antérieures à cette interruption de service. Cette situation souligne l'importance de vérifier la disponibilité actuelle du service, en particulier lorsque vous travaillez avec des intégrations tierces.
La mise en œuvre de l'API Gmail décrite dans ce guide constitue une alternative fiable, même si elle nécessite une configuration initiale plus longue que la solution MailChannels précédente.
Prochaines étapes
Le prochain article de cette série couvrira la configuration de l'environnement de développement et les détails de mise en œuvre pour l'utilisation de l'API Gmail avec Cloudflare Workers.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!