IMAP、POP、SMTP

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

プロトコル

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

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

ライブラリとサンプル

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

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

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