Google сообщил владельцам G Suite аккаунтов о том, что с 15 февраля 2021 года авторизация в Gmail и других продуктах будет работать только через OAuth.
Для IMAP-авторизации разработчикам предлагается использовать способ авторизации под названием SASL XOAUTH2. Но дело в том, что стандартное расширение PHP IMAP (а именно функция imap_open) не способно авторизовываться по предлагаемому Google алгоритму.
Т.е. если в своих проектах вы используете стандартное расширение PHP IMAP, то скоро владельцы G Suite аккаунтов не смогут пользоваться вашим приложением. Также не исключено, что со временем Google «позаботится» и о подключении к обычным Gmail-аккаунтам и не переведёт IMAP-авторизацию на OAuth.
Для справки, на одном только GitHub сейчас более 121 тысячи скриптов и проектов, использующих стандартное расширение PHP IMAP.
Какие могут быть варианты решения
UPD 1
В комментариях и здесь поступило четвёртое предложение — дождаться, пока IMAP OAuth-авторизация будет реализована в расширении PHP IMAP. Но тут не всё так просто. Здесь и здесь обсуждение на PHP.net
UPD 2
Вариант добавления OAuth в расширение PHP IMAP отпадает: news-web.php.net/php.internals/107950
UPD 3
Желающих пригласили принять участие в разработке обёртки вокруг Zend Mail, поддерживающей XOUATH2 и предоставляющей набор функций аналогичный PHP IMAP: github.com/freescout-helpdesk/ximap
Для IMAP-авторизации разработчикам предлагается использовать способ авторизации под названием SASL XOAUTH2. Но дело в том, что стандартное расширение PHP IMAP (а именно функция imap_open) не способно авторизовываться по предлагаемому Google алгоритму.
Т.е. если в своих проектах вы используете стандартное расширение PHP IMAP, то скоро владельцы G Suite аккаунтов не смогут пользоваться вашим приложением. Также не исключено, что со временем Google «позаботится» и о подключении к обычным Gmail-аккаунтам и не переведёт IMAP-авторизацию на OAuth.
Для справки, на одном только GitHub сейчас более 121 тысячи скриптов и проектов, использующих стандартное расширение PHP IMAP.
Какие могут быть варианты решения
- Сообщать в своём приложении, что оно несовместимо с Gmail-аккаунтами G Suite и предлагать завести почту на каком-нибудь другом сервисе.
- Переделать свои проекты на использование библиотеки Zend Mail, которая может авторизовываться по предлагаемому Google алгоритму. Другое дело, что мало кто будет рад переходу с быстрого нативного расширения PHP IMAP на стороннюю библиотеку.
- Попробовать уговорить Google принимать OAuth-токен в пароле IMAP: github.com/google/gmail-oauth2-tools/issues/18. Вполне, простое и логичное решение. Тогда все имеющиеся IMAP-библиотеки, включая PHP IMAP, продолжат функционировать и будут способны получать почту из Gmail, передавая OAuth-токен в пароле IMAP.
UPD 1
В комментариях и здесь поступило четвёртое предложение — дождаться, пока IMAP OAuth-авторизация будет реализована в расширении PHP IMAP. Но тут не всё так просто. Здесь и здесь обсуждение на PHP.net
UPD 2
Вариант добавления OAuth в расширение PHP IMAP отпадает: news-web.php.net/php.internals/107950
UPD 3
Желающих пригласили принять участие в разработке обёртки вокруг Zend Mail, поддерживающей XOUATH2 и предоставляющей набор функций аналогичный PHP IMAP: github.com/freescout-helpdesk/ximap