1

Я пытаюсь войти в свою учетную запись Gmail вручную, используя OpenSSL в моем терминале. Но по какой-то причине Gmail не авторизует мой логин, даже если пароль правильный. Вот краткое изложение моего терминала:

openssl s_client -crlf -connect imap.googlemail.com:993
CONNECTED(00000003)
.......
# Some stuff displayed here
.......
* OK Gimap ready for requests from <my-ip> f75mb26659817ybg
01 login username@gmail.com password
01 NO [AUTHENTICATIONFAILED] Invalid credentials (Failure)

Почему это не удается? Кроме того, я новичок в этом, и мне очень любопытно делать это, поэтому несколько статей по этому поводу было бы здорово.

Я пытался искать похожие статьи сам, но не мог сделать это даже после страниц поиска.

2 ответа2

2

После нескольких попыток мне показалось, что Gmail прекратил поддержку основного входа в систему IMAP, поскольку он "менее безопасен". В итоге я использовал OAuth2 для аутентификации. Я также обнаружил, что моя цель, связанная с получением непрочитанного количества сообщений электронной почты, также может быть достигнута с помощью Gmail API впоследствии. Чтобы реализовать это, я написал скрипт на bash.

Вот что скрипт делает в итоге:

  • Создайте учетные данные для клиента с доступом к Gmail API и набором необходимых областей.

  • Используйте эти учетные данные для создания кода авторизации для учетной записи пользователя.

    Во время этого терминал открывает веб-страницу согласия пользователя, которая спрашивает пользователя, авторизует он клиента или нет. После авторизации, код авторизации OAuth2 отправляются на localhost в указанном порту (я использовал 5000) , который затем пойманной TCP слушатель, который скрипт работает в фоновом режиме временно, и хранится.

  • После сохранения кода авторизации сгенерируйте токен доступа API и сохраните его где-нибудь для использования.

  • Сделайте запросы curl как это, чтобы получить доступ к API:

    curl -H "Authorization: Bearer <the access token>" <the request>
    

Вот соответствующие ссылки:

0

Работает для меня. Не забудьте разрешить менее защищенным приложениям доступ к вашей учетной записи, так как в противном случае простой логин (пользователь + пароль) может не работать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .