PHPMailer menggunakan gmail dan XOAUTH2: Bagaimana untuk mendapatkan token penyegaran baharu secara automatik apabila token penyegaran semasa tamat tempoh?
P粉207969787
P粉207969787 2024-04-06 10:14:45
0
1
470

Saya mengikuti Menggunakan Gmail dengan XOAUTH2 (PHPMailer Wiki) dan Bagaimana untuk menghantar e-mel menggunakan PHPMailer dengan Gmail XOAUTH2? (Chandan untuk w3jar.com; Mei 2019). < /p>

Hari ini, tapak web saya tidak dapat menghantar e-mel kerana token muat semula telah tamat tempoh.

Kemudian saya membaca Wiki PHPMailer sekali lagi dan mendapati ini:

Jadi, saya perlu pergi ke halaman ini dan klik Google.

Kemudian pilih akaun yang saya akan hantar e-mel.

Segar semula token baharu akan ditunjukkan seperti di bawah.

Selepas itu saya perlu menyalin token muat semula ini dan menampalnya ke dalam fungsi hantar e-mel saya.

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

Inilah yang perlu saya lakukan apabila token tamat tempoh.

Gmail tidak mempunyai sebarang pemberitahuan tentang tamat tempoh token muat semula.

Ini menyebabkan masalah kepada orang yang menggunakan tapak saya. Sehinggalah ada yang menghubungi saya dan memberitahu masalah ini.

Bagaimana untuk mendapatkan token muat semula secara automatik?

Langkah ini memerlukan seseorang untuk mengklik butang Google dan kemudian klik pada akaun Gmail untuk mendapatkan token muat semula.

Bolehkah saya menggunakan PHP? Bagaimanakah saya boleh mengautomasikan proses ini?

P粉207969787
P粉207969787

membalas semua(1)
P粉148434742

Akhir sekali, saya menggunakan pengesahan dua langkah. Rujukan: https://www.youtube.com/watch?v= mte7LroYd74&list=LL&index=1&t=2s

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!