IMAP, POP, SMTP

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 서버(imap.gmail.com:993) 및 POP 서버(pop.gmail.com:995)로 수신 시 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 메커니즘을 사용하여 많이 사용되는 다양한 언어로 코드 샘플을 제공합니다.