IMAP, POP и SMTP

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

Протокол

Протоколы IMAP, POP и SMTP используют стандартный протокол SASL (Simple Authentication and Security Layer) , применяя встроенные команды 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 для удобства. Если эти библиотеки поддерживают протокол SASL (Simple Authentication and Security Layer) , они должны быть совместимы с механизмом SASL XOAUTH2, поддерживаемым Gmail.

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

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