W przypadku klientów innych niż Gmail obsługujemy standardowe protokoły IMAP, POP i SMTP. Serwery Gmaila IMAP, POP i SMTP zostały rozszerzone o obsługę autoryzacji za pomocą standardowego protokołu OAuth 2.0.
Protokół
Protokoły IMAP, POP i SMTP używają standardowej warstwy SASL (Simple Authentication and Security Layer), która do uwierzytelniania użytkowników wykorzystuje wbudowane natywne polecenia IMAP AUTHENTICATE
, POP AUTH
i SMTP AUTH
. Mechanizm SASL XOAUTH2 umożliwia klientom podawanie danych logowania OAuth 2.0 na potrzeby uwierzytelniania. W dokumentacji protokołu SASL XOAUTH2 szczegółowo opisano mechanizm SASL XOAUTH2. Dostępne są też biblioteki i przykłady, w których zaimplementowano ten protokół.
Połączenia przychodzące z serwerem IMAP pod adresem imap.gmail.com:993
i serwerem POP pod adresem pop.gmail.com:995
wymagają protokołu SSL. Serwer SMTP poczty wychodzącej, smtp.gmail.com
, obsługuje TLS. Jeśli klient zaczyna od zwykłego tekstu, przed wydaniem polecenia STARTTLS użyj portu 465
(w przypadku SSL) lub portu 587
(w przypadku TLS).
Limity długości sesji
Sesje POP w Gmailu są ograniczone do około 7 dni. Sesje IMAP Gmaila są ograniczone do około 24 godzin. Jeśli sesja została uwierzytelniona przy użyciu danych logowania OAuth, jest ona ograniczona do okresu ważności użytego tokena dostępu (zwykle 1 godziny). Sesja w tym kontekście to jedno ciągłe połączenie TCP.
Gdy czas minie i sesja wygaśnie, Gmail zamknie połączenie z komunikatem o wygaśnięciu sesji. Następnie klient może ponownie nawiązać połączenie, ponownie się uwierzytelnić i kontynuować. Jeśli używasz OAuth, upewnij się, że 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).
Biblioteki i przykłady
Dostęp do poczty za pomocą protokołu IMAP lub POP oraz wysyłanie poczty za pomocą protokołu SMTP często odbywa się przy użyciu istniejących bibliotek IMAP i SMTP. Jeśli te biblioteki obsługują Simple Authentication and Security Layer (SASL), powinny być zgodne z mechanizmem SASL XOAUTH2 obsługiwanym przez Gmaila.
Oprócz dokumentacji protokołu SASL XOAUTH2 możesz też przeczytać artykuł Używanie protokołu OAuth 2.0 na potrzeby dostępu do interfejsów API Google, aby uzyskać więcej informacji o wdrażaniu klienta OAuth 2.0.
Na stronie Biblioteki i przykłady znajdziesz przykłady kodu w różnych popularnych językach, które korzystają z mechanizmu SASL XOAUTH2 z protokołami IMAP lub SMTP.