Вы можете подключить сторонние почтовые клиенты и приложения к 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 получателей. Эти ограничения действуют для каждого пользователя и распространяются на всех клиентов, у которых есть доступ к аккаунту. Подробную информацию можно найти в следующих статьях:
- Ограничения в Google Workspace на отправку электронных писем из Gmail
- Ограничения на отправку и получение писем (личные аккаунты Gmail)
- Ограничения пропускной способности для Gmail
Библиотеки и примеры
Для удобства разработчики часто используют 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.