Saya menggunakan fungsi php imap untuk menyambung dan mendapatkan e-mel daripada akaun Gmail dan ia berfungsi dengan baik, tetapi sekarang, disebabkan dasar kemas kini mereka, saya mendapat ralat berikut walaupun bukti kelayakan log masuk adalah betul
PHP Warning: imap_open(): Couldn't open stream {imap.gmail.com:993/ssl/novalidate-cert}[Gmail]/All Mail in PHP Notice: Unknown: Retrying PLAIN authentication after [AUTHENTICATIONFAILED] Invalid credentials (Failure) (errflg=1) in Unknown on line 0
Saya rasa ini kerana mereka mengemas kini dasar mereka. Adakah terdapat cara untuk melakukan ini?
Ini adalah kod semasa yang disambungkan ke akaun
$hostname = '{imap.gmail.com:993/ssl/novalidate-cert}[Gmail]/All Mail'; $imap = imap_open($hostname, $username, $password); $emails = imap_search($imap, 'ALL'); if($emails) echo count($emails);
Apl yang tidak boleh menggunakan pengesahan dua langkah perlu menggunakan kata laluan apl (bukan kata laluan akaun lalai) untuk log masuk ke Gmail.
Untuk maklumat lanjut tentang menetapkan kata laluan apl dalam akaun Gmail anda, sila lawati https://support.google.com/accounts/answer/185833?sjid=6399608693125087466-EU dan tempat lain.