Maison  >  Questions et réponses  >  le corps du texte

PHPMailer utilisant Gmail et XOAUTH2 : Comment obtenir automatiquement un nouveau jeton d'actualisation lorsque le jeton d'actualisation actuel expire ?

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粉207969787P粉207969787219 Il y a quelques jours483

répondre à tous(1)je répondrai

  • P粉148434742

    P粉1484347422024-04-07 08:56:06

    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

    répondre
    0
  • Annulerrépondre