IMAP, POP i SMTP.

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 przez standardowy protokół OAuth 2.0.

Protokół

Do uwierzytelniania użytkowników IMAP, POP i SMTP korzystają ze standardowego prostego uwierzytelniania i zabezpieczenia (SASL) przy użyciu wbudowanych natywnych poleceń IMAP AUTHENTICATE, POP AUTH i SMTP AUTH. Mechanizm SASL XOAUTH2 umożliwia klientom przekazywanie danych uwierzytelniających OAuth 2.0. Dokument SASL XOAUTH2 zawiera szczegółowy opis mechanizmów SASL XOAUTH2 oraz biblioteki i przykłady, w których zastosowano protokół.

Połączenia przychodzące z serwerem IMAP pod adresem imap.gmail.com:993 i serwerem POP na stronie pop.gmail.com:995 wymagają protokołu SSL. Wychodzący serwer SMTP, smtp.gmail.com, obsługuje TLS. Jeśli klient zaczyna się od zwykłego tekstu, przed wykonaniem polecenia STARTTLS użyj portu 465 (na potrzeby SSL) lub 587 (na potrzeby TLS).

Limity długości sesji

Sesje POP w Gmailu są ograniczone do około 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, obowiązuje okres ważności używanego tokena dostępu (zwykle wynosi to 1 godzinę). Sesja w tym kontekście to jedno ciągłe połączenie TCP.

Gdy upłynie czas, a sesja wygaśnie, Gmail zamyka połączenie z komunikatem, że sesja wygasła. Gdy to nastąpi, klient może połączyć się ponownie, uwierzytelnić i kontynuować. Jeśli korzystasz z protokołu OAuth, upewnij się, że użyty 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 próbki

Dostęp do poczty za pomocą protokołu IMAP lub POP oraz wysyłanie za pomocą protokołu SMTP często odbywa się za pomocą istniejących bibliotek IMAP i SMTP. Dopóki te biblioteki obsługują prosty mechanizm uwierzytelniania i zabezpieczenia (SASL), powinny być zgodne z mechanizmem SASL XOAUTH2 obsługiwanym przez Gmaila.

Więcej informacji o implementowaniu klienta OAuth 2.0 znajdziesz w dokumentacji SASL XOAUTH2 oraz w artykule o używaniu protokołu OAuth 2.0 do korzystania z interfejsów API Google.

Na stronie Biblioteki i przykłady znajdują się przykładowe fragmenty kodu w różnych popularnych językach. Wykorzystuje on mechanizm SASL XOAUTH2 z protokołem IMAP lub SMTP.