O Google informou os proprietários das contas do G Suite que, a partir de 15 de fevereiro de 2021, a autorização no Gmail e em outros produtos funcionará apenas através do OAuth.Para autorização IMAP, os desenvolvedores são convidados a usar um método de autorização chamado
SASL XOAUTH2 . Mas o fato é que a extensão IMAP padrão do PHP (ou seja, a função
imap_open ) não pode
efetuar login usando o algoritmo proposto pelo Google.
I.e. se você usar a extensão IMAP PHP padrão em seus projetos, em breve os proprietários das contas do G Suite não poderão usar seu aplicativo. Também é possível que, com o tempo, o Google não "cuide" da conexão com contas regulares do Gmail e não transfira a autenticação IMAP para o OAuth.
Para referência, existem mais de
121 mil scripts e projetos usando a extensão padrão IMAP do PHP somente no GitHub.
Quais são as soluções possíveis- Notifique no seu aplicativo que ele é incompatível com as contas do G Suite Gmail e ofereça-se para iniciar o correio em outro serviço.
- Converta seus projetos para usar a biblioteca Zend Mail , que pode ser autorizada usando o algoritmo proposto pelo Google. Outra coisa é que poucas pessoas terão prazer em mudar de uma extensão nativa rápida do PHP IMAP para uma biblioteca de terceiros.
- Tente convencer o Google a aceitar o token OAuth na senha do IMAP: github.com/google/gmail-oauth2-tools/issues/18 . Uma solução bastante simples e lógica. Em seguida, todas as bibliotecas IMAP disponíveis, incluindo PHP IMAP, continuarão funcionando e poderão receber emails do Gmail, passando o token OAuth na senha IMAP.
UPD 1A quarta sugestão veio nos comentários e
aqui - aguarde até a autenticação IMAP OAuth ser implementada na extensão PHP IMAP. Mas não é tão simples.
Aqui e
aqui está uma discussão no PHP.net
UPD 2Não há opção para adicionar OAuth à extensão IMAP do PHP:
news-web.php.net/php.internals/107950UPD 3Os interessados foram
convidados a participar do desenvolvimento de um wrapper em torno do Zend Mail que suporta o XOUATH2 e fornece um conjunto de funções semelhantes ao IMAP do PHP:
github.com/freescout-helpdesk/ximap