IMAP、POP、SMTP

Gmail 以外のクライアントの場合、Gmail は標準の IMAP、POP、SMTP プロトコルをサポートしています。Gmail の IMAP、POP、SMTP サーバーは、業界標準の OAuth 2.0 プロトコルによる認証をサポートするように拡張されています。

プロトコル

IMAP、POP、SMTP は、組み込みのネイティブ IMAP AUTHENTICATE、POP AUTH、SMTP AUTH コマンドを使用して、標準の Simple Authentication and Security Layer(SASL) を使用してユーザーを認証します。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 時間)に制限されます。このコンテキストでのセッションは、1 つの連続した TCP 接続 です。

時間が経過してセッションが期限切れになると、Gmail はセッションが期限切れになったことを示すメッセージとともに接続を閉じます。その後、クライアントは再接続して再度認証を行い、続行できます。OAuth を使用する場合は、使用するアクセス トークンが有効であることを確認してください(1 時間以上前のアクセス トークンを使用しようとすると、無効になる可能性があります)。

ライブラリとサンプル

IMAP または POP を使用したメールへのアクセスと、SMTP を使用したメールの送信は、多くの場合、既存の IMAP ライブラリと SMTP ライブラリを使用して行われます。 これらのライブラリが Simple Authentication and Security Layer(SASL) をサポートしている限り、Gmail でサポートされている SASL XOAUTH2 メカニズムと互換性があるはずです。

SASL XOAUTH2 プロトコルのドキュメントに加えて、OAuth 2.0 クライアントの実装の詳細については、OAuth 2.0 を使用して Google API にアクセスするもご覧ください。

ライブラリとサンプルのページでは、IMAP または SMTP で SASL XOAUTH2 メカニズムを使用する、さまざまな一般的な言語のコードサンプルを提供しています。