Ce module est censé être un plugin qui fonctionne avec le module PHPMailer SMTP, fournissant une authentification à Google Workspace Gmail via OAuth2. Il est inspiré de phpmailer_oauth2, écrit par Ian McLean (imclean). Si je n'avais pas trouvé le module de Ian, il est peu probable que j'aurais tenté d'en travailler un pour Google Gmail.
IMPORTANT : Ce module nécessite le module Google league/oauth2-google, disponible sur https://oauth2-client.thephpleague.com/providers/league/. Il doit être installé dans le répertoire de votre fournisseur.
Avant d'utiliser ce module, il est nécessaire de configurer un Client ID et un Client Secret sur Google. Voici comment procéder à partir d'avril 2024 et configurer ce module :
Connectez-vous à votre compte Google Workspace.
Accédez à https://console.cloud.google.com/.
En haut à gauche de la page, à côté de « Google Cloud », il devrait y avoir une liste déroulante de projets. Cliquez dessus.
Si aucun projet n'est répertorié dans la boîte de dialogue « Sélectionner une ressource », créez-en un, puis sélectionnez-le comme projet actuel.
Cliquez sur « API et services », un gros bouton quelque part au centre de la page.
Cliquez sur Identifiants dans le menu qui apparaît sur le côté gauche de la page.
Cliquez sur CRÉER DES CRÉDENTIELS, puis sélectionnez « ID client OAuth ».
Sélectionnez « Application Web » pour le type d'application.
Nommez vos informations d’identification et notez votre ID client et votre secret client. Vous devrez saisir ces valeurs dans (11) ci-dessous.
Une fois que vous avez installé ce module, vous pouvez trouver l'URI de redirection autorisé pour votre site en allant dans Configuration->Système->PHPMailer Gmail OAuth2 (/admin/config/system/phpmailer-gmail-oauth2). Affichez cette page dans une fenêtre de navigateur distincte et vous trouverez l'URI de redirection requis par Google en haut de la page. Copiez l'URI et saisissez-le dans la case « URI de redirection autorisés » sur la page Google. Appuyez sur Enregistrer.
De retour sur la page Drupal, saisissez votre adresse e-mail Google, votre ID client et votre secret client, puis appuyez sur le bouton « Enregistrer la configuration ».
Après avoir enregistré vos informations d'identification Google, un bouton « Obtenir un jeton d'actualisation » apparaîtra. Appuyez sur ce bouton pour rediriger votre site vers Google, puis suivez les instructions sur Google.
Lorsque vous avez terminé, Google doit émettre un jeton d'actualisation et rediriger vers la page Drupal que vous venez de quitter. Si tout a fonctionné, vous aurez votre jeton d'actualisation et serez prêt à envoyer un e-mail.
Si vous rencontrez des problèmes de redirection vers Google lorsque vous appuyez sur le bouton « Obtenir un jeton d'actualisation », vous devrez peut-être ajouter ce qui suit à votre fichier settings.php :
$ settings [ ' trusted_host_patterns ' ] = [ ' ^accounts.google.com$ ' ];
If you have other trusted_host_patterns, add '^accounts.google.com$' to the array.
Quelques autres éléments de configuration :
N'oubliez pas d'aller dans le module Mail pour sélectionner « PHPMailer SMTP » comme formateur et expéditeur de courrier (/admin/config/system/mailsystem).
Si vous disposez d'autres modules tels que Commerce 2 qui envoient du courrier, vous devrez peut-être les ajouter au bas de la même page en (1) ci-dessus.
Sur la page des paramètres de transport SMTP PHPMailer, sélectionnez « Gmail OAuth2 » comme méthode d'authentification SMTP (/admin/config/system/phpmailer-smtp). Définissez le port SMTP sur 587 et sélectionnez TLS comme protocole sécurisé.
Vous pouvez utiliser le service « Test de configuration » sur la page des paramètres de transport SMTP de PHPMailer pour vérifier que la nouvelle configuration fonctionne en envoyant un e-mail de test.