IMAP, POP и SMTP для Gmail

Вы можете подключить сторонние почтовые клиенты и приложения к 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. Также доступны библиотеки и примеры OAuth 2.0, в которых реализован этот протокол.

Адреса и порты серверов

Для получения и отправки почты используйте следующие адреса серверов и порты:

Протокол Направление Адрес сервера Порт Шифрование
IMAP Входящие (получение) imap.gmail.com 993 Неявный SSL/TLS
POP Входящие (получение) pop.gmail.com 995 Неявный SSL/TLS
SMTP Исходящие (отправка) smtp.gmail.com 465 Неявный SSL/TLS
SMTP Исходящие (отправка) smtp.gmail.com 587 TLS (STARTTLS)

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

Используйте smtp.gmail.com, чтобы отправлять письма из почтового клиента или приложения от имени аутентифицированного пользователя. Если вы администратор Google Workspace и настраиваете маршрутизацию исходящей почты с локального сервера, принтера, сканера или из приложения (например, с помощью smtp-relay.gmail.com), ознакомьтесь со статьей Как отправлять почту с принтера, сканера или из приложения.

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

Сеансы POP в Gmail длятся примерно семь дней. Сеансы IMAP в Gmail длятся примерно 24 часа. Если вы выполнили аутентификацию сеанса с помощью учетных данных OAuth, он будет длиться примерно столько же, сколько период действия токена доступа (обычно один час). В данном контексте сеанс – это одно непрерывное подключение по протоколу управления передачей (TCP).

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

Ограничения на отправку и пропускную способность

Чтобы обеспечить безопасность аккаунтов и правильную работу систем, в Gmail установлены ограничения на количество писем, отправляемых в день, и на пропускную способность в течение 24 часов. В платном аккаунте Google Workspace можно отправлять до 2000 писем в день, а в пробном аккаунте Google Workspace или личном аккаунте Gmail – до 500 писем в день. При этом в каждом письме, отправленном по протоколу SMTP клиентами POP или IMAP, может быть не более 100 получателей. Эти ограничения действуют для каждого пользователя и распространяются на всех клиентов, у которых есть доступ к аккаунту. Подробную информацию можно найти в следующих статьях:

Библиотеки и примеры

Для удобства разработчики часто используют IMAP или POP для доступа к почте и SMTP для отправки писем с помощью существующих библиотек IMAP и SMTP. Если эти библиотеки поддерживают SASL, они должны быть совместимы с форматом SASL XOAUTH2, который поддерживается Gmail.

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

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