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