Использую небольшую программу для создания резервной копии сообщений из аккаунта на Gmail.
Сегодня, при попытке забрать сообщения, программа выдала ошибку:
javax.mail.AuthenticationFailedException: [ALERT] Please log in via your web browser: https://support.google.com/mail/acounts/answer/78754 (Failure)
Изучения ссылки из ошибки показало, что в Google считают аутентификацию по IMAP+SSL небезопасной и в аутентификации через этот механизм может быть отказано. Google отдельно упоминает, что даже Microsoft Outlook и Mozilla Thunderbird не поддерживаются и могут быть заблокированы:
Теоретически, в Google оставили лазейку для продвинутых пользователей - в аккаунте Google сделали переключалку, с помощью которой можно разрешить "небезопасные приложения". И это было бы удобно - отключил защиту, сделал копию, включил на место от греха. Но, к сожалению, на практике переключалка не работает - сообщение о включении небезопасного режима на почту приходит, но при рефреше страницы переключалка возвращается в OFF, а IMAP остается недоступен.
Шах и мат, третьесторонние клиенты.
1. Небезопасный режим таки включился где-то с четвертой попытки через полчаса после первой. Это забавно, ведь на неудачные попытки приходило подтверждение по email.
2. В списке алертов было сообщение о блокировке «Unknown device» и была кнопка «разрешить». Во-первых, ее нажатие (еще до включения небезопасного режима) не помогло. Во-вторых, при нажатии, кажется, говорилось, что решение можно будет отменить в будущем. Фактически же отменить его негде — в списке устройств и в notifications вариантов действий больше не предлагается.
3. «хотя там просто самописную погремушку у автора забанили, а не аутлук, видимо слишком агрессивно спамил;)» — сразу видно специалиста. Речь вообще-то идет об IMAP, а не SMTP. Более того, доступ велся в read-only режиме, а погремушкой была JavaMail.
4. Коллеги говорят, что у них были такие же проблемы, но помогло включение небезопасного режима.
5. В комментах тут и на ФБ пишут, что у людей все ок. Возможно Google смотрит какие-то паттерны. Но, во-первых, за несколько минут до получения отказа по IMAP, с этого же IP были удачные сессии с андроида и на вебе. Во-вторых, не помню, чтобы почтовые клиенты отдавали строчку UA, но даже если представить, что Тандерберд отдает, а JavaMail — нет, то забавно, что валидного пароля по зашифрованному каналу для Гугла недостаточно, а строчки, которую подделать может любой, хватает.
6. В целом, эпизод хорошо иллюстрирует — зачем в принципе делать резервную копию данных в Google: в любой день может оказаться, что, вчера еще нормальный пользователь, сегодня рожей не вышел. И останется только воскликнуть — «как так `пошел на abc.xyž`?»