IMAP, POP i SMTP w Gmailu

Możesz połączyć klienty poczty e-mail i aplikacje innych firm z Gmailem, używając standardowych protokołów IMAP i POP do odbierania poczty oraz protokołu SMTP do wysyłania poczty. Wszystkie 3 serwery obsługują uwierzytelnianie i autoryzację przy użyciu protokołu OAuth 2.0.

Protokół uwierzytelniania

Protokoły IMAP, POP i SMTP używają standardowej warstwy Simple Authentication and Security Layer (SASL), wykorzystując wbudowane polecenia IMAP AUTHENTICATE, POP AUTH i SMTP AUTH do uwierzytelniania użytkowników. Format SASL XOAUTH2 umożliwia klientom podawanie danych uwierzytelniających OAuth 2.0 na potrzeby uwierzytelniania. Dokumentacja protokołu SASL XOAUTH2 zawiera szczegółowy opis formatu SASL XOAUTH2. Dostępne są też biblioteki i przykłady OAuth 2.0, które implementują ten protokół.

Adresy serwerów i porty

Do odbierania i wysyłania poczty używaj tych adresów serwerów i portów:

Protokół Kierunek Adres serwera Port Szyfrowanie
IMAP Przychodzące (odbieranie) imap.gmail.com 993 Niejawny SSL/TLS
POP Przychodzące (odbieranie) pop.gmail.com 995 Niejawny SSL/TLS
SMTP Wychodzące (wysyłanie) smtp.gmail.com 465 Niejawny SSL/TLS
SMTP Wychodzące (wysyłanie) smtp.gmail.com 587 TLS (STARTTLS)

Połączenia przychodzące z imap.gmail.com:993 i pop.gmail.com:995 oraz połączenia wychodzące do smtp.gmail.com:465 wymagają niejawnego protokołu SSL/TLS. Jeśli klient SMTP zaczyna od zwykłego tekstu przed wydaniem polecenia STARTTLS w celu uaktualnienia połączenia, użyj smtp.gmail.com:587.

Użyj smtp.gmail.com, aby wysyłać pocztę z klienta poczty e-mail lub aplikacji w imieniu uwierzytelnionego użytkownika. Jeśli jesteś administratorem Google Workspace i przekierowujesz pocztę wychodzącą z lokalnego serwera, drukarki, skanera lub aplikacji (na przykład za pomocą smtp-relay.gmail.com), zapoznaj się z artykułem Wysyłanie e-maili z drukarki, skanera lub aplikacji.

Limity długości sesji

Sesje POP w Gmailu trwają do około 7 dni. Sesje IMAP w Gmailu trwają około 24 godzin. Jeśli sesja została uwierzytelniona przy użyciu danych uwierzytelniających OAuth, trwa ona mniej więcej przez okres ważności użytego tokena dostępu (zwykle 1 godzinę). Sesja w tym kontekście to jedno ciągłe połączenie protokołu sterowania transmisją (TCP).

Gdy czas upłynie i sesja wygaśnie, Gmail zamknie połączenie i wyświetli komunikat o wygaśnięciu sesji. Następnie klient może ponownie się połączyć, uwierzytelnić i kontynuować. Jeśli używasz protokołu OAuth 2.0, sprawdź, czy używany token dostępu jest prawidłowy. Jeśli spróbujesz użyć tokena dostępu starszego niż 1 godzina, może on być nieprawidłowy.

Limity wysyłania i przepustowości

Aby utrzymać systemy w dobrym stanie oraz zapewnić bezpieczeństwo kont użytkowników, Gmail stosuje dzienne limity wysyłania poczty i przepustowości w okresie 24 godzin. Z płatnego konta Google Workspace możesz wysłać do 2000 wiadomości dziennie, a z konta próbnego Google Workspace lub osobistego konta Gmail – do 500 wiadomości dziennie. W przypadku wiadomości wysyłanych przez SMTP przez klientów POP lub IMAP możesz dodać do 100 odbiorców na wiadomość. Te limity dotyczą poszczególnych użytkowników i są współdzielone przez wszystkich klientów uzyskujących dostęp do konta. Więcej informacji:

Biblioteki i przykłady

Dla wygody deweloperzy często uzyskują dostęp do poczty za pomocą protokołu IMAP lub POP i wysyłają pocztę za pomocą protokołu SMTP z istniejącymi bibliotekami IMAP i SMTP. Jeśli te biblioteki obsługują SASL, powinny być zgodne z formatem SASL XOAUTH2 obsługiwanym przez Gmaila.

Oprócz dokumentacji protokołu SASL XOAUTH2 warto też zapoznać się z artykułem Używanie protokołu OAuth 2.0 na potrzeby dostępu do interfejsów API Google, aby dowiedzieć się więcej o implementacji klienta OAuth 2.0.

Na stronie Biblioteki i przykłady OAuth 2.0 znajdziesz przykładowe kody w różnych popularnych językach, które używają formatu SASL XOAUTH2 z protokołem IMAP lub SMTP.