suchen

Heim  >  Fragen und Antworten  >  Hauptteil

PHPMailer mit Gmail und XOAUTH2: Wie erhalte ich automatisch ein neues Aktualisierungstoken, wenn das aktuelle Aktualisierungstoken abläuft?

Ich folge Gmail mit XOAUTH2 verwenden (PHPMailer Wiki) und Wie sende ich E-Mails mit PHPMailer mit Gmail XOAUTH2? (Chandan für w3jar.com; Mai 2019). < /p>

Heute konnte meine Website keine E-Mails senden, da das Aktualisierungstoken abgelaufen ist.

Dann habe ich das PHPMailer-Wiki noch einmal gelesen und Folgendes gefunden:

Also muss ich auf diese Seite gehen und auf Google klicken.

Wählen Sie dann das Konto aus, von dem aus ich die E-Mail versenden möchte.

Neue Token-Aktualisierung wird wie unten angezeigt.

Danach muss ich dieses Aktualisierungstoken kopieren und in meine Funktion zum Senden von E-Mails einfügen.

<?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;
    }
}

Das muss ich tun, wenn der Token abläuft.

Gmail verfügt über keine Benachrichtigung über den Ablauf des Aktualisierungstokens.

Dies verursacht Probleme für die Nutzer meiner Website. Bis mich jemand kontaktierte und mir von diesem Problem erzählte.

Wie erhalte ich automatisch ein Aktualisierungstoken?

Für diesen Schritt muss jemand auf die Schaltfläche Google und dann auf das Gmail-Konto klicken, um das Aktualisierungstoken zu erhalten.

Kann ich PHP verwenden? Wie kann ich diesen Prozess automatisieren?

P粉207969787P粉207969787260 Tage vor601

Antworte allen(1)Ich werde antworten

  • P粉148434742

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

    最后,我使用两步验证。 参考:https://www.youtube.com/watch?v= mte7LroYd74&list=LL&index=1&t=2s

    Antwort
    0
  • StornierenAntwort