PHPMailer utilisant Gmail et XOAUTH2 : Comment obtenir automatiquement un nouveau jeton d'actualisation lorsque le jeton d'actualisation actuel expire ?
P粉207969787
P粉207969787 2024-04-06 10:14:45
0
1
521

Je suis Utilisation de Gmail avec XOAUTH2 (PHPMailer Wiki) et Comment envoyer des e-mails en utilisant PHPMailer avec Gmail XOAUTH2 ? (Chandan pour w3jar.com ; mai 2019). < /p>

Aujourd'hui, mon site Web n'a pas pu envoyer d'e-mails car le jeton d'actualisation a expiré.

Ensuite, j'ai relu le wiki PHPMailer et j'ai trouvé ceci :

Donc, je dois aller sur cette page et cliquer sur Google.

Sélectionnez ensuite le compte à partir duquel j'enverrai l'e-mail.

Le nouveau rafraîchissement du jeton sera affiché comme ci-dessous.

Après cela, je dois copier ce jeton d'actualisation et le coller dans ma fonction d'envoi d'e-mail.

<?php

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\OAuth;
use League\OAuth2\Client\Provider\Google;

function sendEmail($email, $title, $detail)
{
    try {
        $refreshToken = 'I am here';   //////// I am hereeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

        $mail = new PHPMailer(true);

        //Server settings
        $mail->*ANY*;

        //Create a new OAuth2 provider instance
        $provider = new Google([
            'clientId' => $clientId,
            'clientSecret' => $clientSecret
        ]);

        //Pass the OAuth provider instance to PHPMailer
        $mail->setOAuth(new OAuth([
            'provider' => $provider,
            'clientId' => $clientId,
            'clientSecret' => $clientSecret,
            'refreshToken' => $refreshToken,
            'userName' => $senderEmail,
        ]));

        if ($mail->send())  return true;


        return false;
    } catch (\Throwable $th) {
        return null;
    }
}

C'est ce que je dois faire lorsque le jeton expire.

Gmail ne reçoit aucune notification concernant l'expiration du jeton d'actualisation.

Cela pose des problèmes aux personnes qui utilisent mon site. Jusqu'à ce que quelqu'un me contacte et me parle de ce problème.

Comment obtenir automatiquement un jeton d'actualisation ?

Cette étape nécessite que quelqu'un clique sur le bouton Google puis clique sur le compte Gmail pour obtenir le jeton d'actualisation.

Puis-je utiliser PHP ? Comment puis-je automatiser ce processus ?

P粉207969787
P粉207969787

répondre à tous(1)
P粉148434742

Enfin, j'utilise la vérification en deux étapes. Référence : https://www.youtube.com/watch?v= mte7LroYd74&list=LL&index=1&t=2s

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal