IMAP, POP и SMTP

Для клиентов, отличных от Gmail, Gmail поддерживает стандартные протоколы IMAP, POP и SMTP. Серверы Gmail IMAP, POP и SMTP были расширены для поддержки авторизации через стандартный отраслевой протокол OAuth 2.0.

Протокол

IMAP, POP и SMTP используют стандартный уровень простой аутентификации и безопасности (SASL) с использованием встроенных собственных команд IMAP AUTHENTICATE , POP AUTH и SMTP AUTH для аутентификации пользователей. Механизм SASL XOAUTH2 позволяет клиентам предоставлять учетные данные OAuth 2.0 для аутентификации. Документация по протоколу SASL XOAUTH2 очень подробно описывает механизм SASL XOAUTH2, а также доступны библиотеки и примеры , реализующие этот протокол.

Для входящих подключений к серверу IMAP по адресу imap.gmail.com:993 и серверу POP по адресу pop.gmail.com:995 требуется SSL. Исходящий SMTP-сервер smtp.gmail.com поддерживает TLS. Если ваш клиент начинается с простого текста, перед выполнением команды STARTTLS используйте порт 465 (для SSL) или порт 587 (для TLS).

Ограничения продолжительности сеанса

Сеансы Gmail POP ограничены примерно 7 днями. Сеансы Gmail IMAP ограничены примерно 24 часами. Если сеанс был аутентифицирован с использованием учетных данных OAuth, он ограничен примерно периодом действия используемого токена доступа (обычно 1 час). Сеанс в этом контексте представляет собой одно непрерывное TCP-соединение .

Когда время истекает и срок действия сеанса истекает, Gmail закрывает соединение с сообщением о том, что срок действия сеанса истек. После этого клиент может повторно подключиться, снова пройти аутентификацию и продолжить работу. При использовании OAuth убедитесь, что используемый токен доступа действителен (если вы попытаетесь использовать токен доступа старше 1 часа, он может оказаться недействительным).

Библиотеки и образцы

Доступ к почте с использованием IMAP или POP и отправка почты с использованием SMTP часто для удобства выполняются с использованием существующих библиотек IMAP и SMTP. Поскольку эти библиотеки поддерживают Simple Authentication and Security Layer (SASL) , они должны быть совместимы с механизмом SASL XOAUTH2, поддерживаемым Gmail.

В дополнение к документации по протоколу SASL XOAUTH2 вы также можете прочитать Использование OAuth 2.0 для доступа к API Google для получения дополнительной информации о реализации клиента OAuth 2.0.

На странице «Библиотеки и образцы» представлены образцы кода на различных популярных языках с использованием механизма SASL XOAUTH2 с IMAP или SMTP.