IMAP, POP и SMTP

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

Протокол

Протоколы IMAP, POP и SMTP используют стандартный протокол Simple Authentication and Security Layer (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).

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

Продолжительность POP-сессий в Gmail составляет приблизительно 7 дней. Продолжительность IMAP-сессий в Gmail составляет приблизительно 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.

На странице библиотек и примеров OAuth 2.0 представлены примеры кода на различных популярных языках, использующие механизм SASL XOAUTH2 с протоколами IMAP или SMTP.