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 o obsługę autoryzacji za pomocą protokołu OAuth 2.0.
Protokół
protokoły IMAP, POP i SMTP do uwierzytelniania użytkowników używają standardowych poleceń Simple Authentication and Security Layer (SASL)za pomocą wbudowanych poleceń protokołów IMAP AUTHENTICATE
, POPAUTH
i SMTP AUTH
. Mechanizm SASL XOAUTH2 umożliwia klientom podawanie danych uwierzytelniających protokołu OAuth 2.0. 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 do serwera IMAP pod adresem imap.gmail.com:993
i serwera POP pod adresem pop.gmail.com:995
wymagają protokołu SSL. Wychodzący serwer SMTP (smtp.gmail.com
) obsługuje protokół TLS. Jeśli klient zaczyna się od zwykłego tekstu, przed uruchomieniem polecenia STARTTLS użyj portu 465
(w przypadku protokołu SSL) lub 587
(w przypadku protokołu TLS).
Limity długości sesji
Sesje POP Gmaila mogą trwać maksymalnie 7 dni. Sesje IMAP w Gmailu 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żywanego tokena dostępu (zwykle 1 godzina). W tym kontekście sesja to jedno ciągłe połączenie TCP.
Gdy ten czas mija, a sesja wygasa, Gmail zamyka połączenie z komunikatem o wygaśnięciu sesji. Po tym czasie klient może połączyć się ponownie, przeprowadzić uwierzytelnianie ponownie 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ą technologię SASL (Simple Authentication and Security Layer), 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.
Strona Biblioteki i przykłady zawiera przykłady kodu w wielu popularnych językach z użyciem mechanizmu SASL XOAUTH2 z protokołem IMAP lub SMTP.