Gmail은 Gmail 이외의 클라이언트의 경우 표준 IMAP, POP, SMTP 프로토콜을 지원합니다. Gmail IMAP, POP, SMTP 서버가 업계 표준 OAuth 2.0 프로토콜을 통한 승인을 지원하도록 확장되었습니다.
프로토콜
IMAP, POP, SMTP는 기본 IMAP AUTHENTICATE
, POP AUTH
, SMTP AUTH
명령어를 사용하여 표준 SASL (Simple Authentication and Security Layer)을 사용하여 사용자를 인증합니다. SASL XOAUTH2 메커니즘을 사용하면 클라이언트가 인증을 위해 OAuth 2.0 사용자 인증 정보를 제공할 수 있습니다. SASL XOAUTH2 프로토콜 문서에서는 SASL XOAUTH2 메커니즘을 자세히 설명하고 프로토콜을 구현한 라이브러리 및 샘플을 제공합니다.
imap.gmail.com:993
의 IMAP 서버 및 pop.gmail.com:995
의 POP 서버에 대한 수신 연결에는 SSL이 필요합니다. 발신 SMTP 서버 smtp.gmail.com
가 TLS를 지원합니다. 클라이언트가 일반 텍스트로 시작하면 STARTTLS 명령어를 실행하기 전에 포트 465
(SSL용) 또는 포트 587
(TLS용)를 사용합니다.
세션 길이 제한
Gmail POP 세션은 약 7일로 제한됩니다. Gmail IMAP 세션은 약 24시간으로 제한됩니다. OAuth 사용자 인증 정보를 사용하여 세션이 인증된 경우 사용된 액세스 토큰의 유효 기간 (일반적으로 1시간)으로 제한됩니다. 이 맥락에서 세션은 하나의 연속 TCP 연결입니다.
시간이 지나 세션이 만료되면 Gmail은 세션이 만료되었다는 메시지와 함께 연결을 닫습니다. 그런 다음 클라이언트는 다시 연결하고 다시 인증한 후 계속할 수 있습니다. OAuth를 사용하는 경우 사용된 액세스 토큰이 유효한지 확인합니다. 1시간이 지난 액세스 토큰을 사용하려고 하면 유효하지 않을 수 있습니다.
라이브러리 및 샘플
IMAP 또는 POP를 사용하여 메일에 액세스하고 SMTP를 사용하여 메일을 보내는 작업은 편의를 위해 기존 IMAP 및 SMTP 라이브러리를 사용하는 경우가 많습니다. 이러한 라이브러리가 단순 인증 및 보안 레이어 (SASL)를 지원하는 한 Gmail에서 지원하는 SASL XOAUTH2 메커니즘과 호환되어야 합니다.
SASL XOAUTH2 프로토콜 문서 외에도 OAuth 2.0 클라이언트 구현에 관한 자세한 내용은 OAuth 2.0을 사용하여 Google API에 액세스하기를 참고하세요.
라이브러리 및 샘플 페이지에서는 IMAP 또는 SMTP와 함께 SASL XOAUTH2 메커니즘을 사용하여 많이 사용되는 다양한 언어로 코드 샘플을 제공합니다.