W przypadku klientów innych niż Gmail Gmail obsługuje standardowe protokoły IMAP, POP i SMTP. Serwery IMAP, POP i SMTP Gmaila zostały rozszerzone, aby obsługiwać autoryzację za pomocą standardowego w branży protokołu OAuth 2.0.
Protokół
Protokoły IMAP, POP i SMTP korzystają ze standardowej prostej warstwy uwierzytelniania i zabezpieczeń (SASL), która używa wbudowanych poleceń IMAP AUTHENTICATE
, POP AUTH
i SMTP AUTH
do uwierzytelniania użytkowników. Mechanizm SASL XOAUTH2 umożliwia klientom podawanie danych uwierzytelniających OAuth 2. Dokumentacja protokołu SASL XOAUTH2 szczegółowo opisuje mechanizm SASL XOAUTH2. Dostępne są też biblioteki i przykłady, w których zaimplementowano 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 wychodzący, smtp.gmail.com
, obsługuje TLS. Jeśli klient rozpoczyna się od zwykłego tekstu, przed wydaniem polecenia STARTTLS użyj portu 465
(dla SSL) lub portu 587
(dla 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 za pomocą danych logowania OAuth, jest ograniczona do okresu ważności użytego tokena dostępu (zwykle 1 godzina). W tym kontekście sesja to jedno ciągłe połączenie TCP.
Gdy czas upłynie i sesja dobiegnie końca, Gmail zamknie połączenie, wyświetlając komunikat o jej zakończeniu. Następnie klient może ponownie nawiązać połączenie, ponownie uwierzytelnić się i kontynuować. Jeśli korzystasz z protokołu OAuth, sprawdź, czy użyty token dostępu jest prawidłowy (jeśli próbujesz użyć tokena dostępu starszego niż godzina, może on być nieprawidłowy).
Biblioteki i próbki
Dostęp do poczty za pomocą protokołów IMAP lub POP oraz wysyłanie poczty za pomocą protokołu SMTP jest często możliwe przy użyciu istniejących bibliotek IMAP i SMTP. Jeśli te biblioteki obsługują prostą warstwę uwierzytelniania i bezpieczeństwa (SASL), powinny być zgodne z mechanizmem SASL XOAUTH2 obsługiwanym przez Gmaila.
Oprócz dokumentacji protokołu SASL XOAUTH2 możesz też przeczytać artykuł Uzyskiwanie dostępu do interfejsów API Google przy użyciu OAuth 2.0, w którym znajdziesz więcej informacji o implementowaniu klienta OAuth 2.0.
Na stronie Biblioteki i próbki znajdziesz przykłady kodu w różnych popularnych językach, które korzystają z mechanizmu SASL XOAUTH2 z protokołami IMAP lub SMTP.