Skip to main content
スキップしてメイン コンテンツへ
OAuth 2.0 を使った Outlook.com IMAP への接続

Outlook.com IMAP (OIMAP) と OAuth 2.0 を使ってユーザーを認証します。

Outlook.com IMAP コマンド

次の IMAP コマンドを使うことができます。これらのコマンドについて詳しくは、 RFC 3501 で定義されている IMAP バージョン 4 リビジョン 1 をご覧ください。

コマンド説明
APPENDリテラル引数を新しいメッセージとして、指定された宛先メールボックスの最後に追加します。
AUTHENTICATEサーバーに対して簡易認証およびセキュリティ層 (SASL) 認証メカニズムを指示します。
CAPABILITYサーバーがサポートする機能の一覧を要求します。
CHECK現在選択しているメールボックスのチェックポイントを要求します。
CLOSE現在選択しているメールボックスから \Deleted フラグが設定されているすべてのメッセージを完全に削除し、選択状態から認証状態に戻します。
COPY/UID COPY指定されたメッセージを、指定された宛先メールボックスの最後にコピーします。
CREATE指定された名前を使ってメールボックスを作成します。
DELETE指定された名前のメールボックスを完全に削除します。
EXAMINESELECT と同じで、同じ出力を返しますが、選択されたメールボックスは読み取り専用として識別されます。
EXPUNGE現在選択しているメールボックスから \Deleted フラグが設定されているすべてのメッセージを完全に削除します。
FETCH/UID FETCHメールボックス内のメッセージに関連付けられたデータを取得します。
UID一意の ID。
LISTクライアントが利用できるすべての名前の完全なセットから、名前のサブセットを返します。
LOGINサーバーでクライアントを識別し、このユーザーを認証するプレーンテキスト パスワードを送信します。
LOGOUTクライアントが接続を終了したことをサーバーに通知します。
LSUBユーザーが "active" または "subscribed" として宣言した名前のセットから、名前のサブセットを返します。
NOOP何もしません。 常に成功します。
RENAMEメールボックスの名前を変更します。
SEARCH指定された検索条件を満たすメッセージをメールボックスで検索します。
SELECTメールボックス内のメッセージにアクセスできるようにメールボックスを選択します。
STOREメールボックス内のメッセージに関連付けられたデータを変更します。
SUBSCRIBELSUB コマンドによって返された、サーバーの "active" または "subscribed" メールボックスのセットに、指定されたメールボックス名を追加します。
UNSUBSCRIBELSUB コマンドによって返された、サーバーの "active" または "subscribed" メールボックスのセットから、指定されたメールボックス名を削除します。

 

メモ  IDLE 拡張機能はサポートされません。

OAuth 2.0 を使った認証のガイドライン

OAuth 2.0 を使ってユーザーを認証する場合、次のガイドラインに従ってください。OAuth 2.0 について詳しくは、 OAuth 2.0 認証プロトコルに関するページ OAuth 2.0 認証フレームワークに関するページをご覧ください。

Dn440163.wedge(ja-jp,WIN.10).gifユーザーを認証するには

  1. アプリ/サーバーは、標準的な OAuth 2.0 フローを使って、Microsoft アカウント (MSA) から OAuth 2.0 トークンを取得する必要があります。
    • クライアントやサーバーにユーザーの資格情報を格納しないでください。
    • スコープ wl.imapwl.offline_access を要求します。詳しくは、「 スコープとアクセス許可」をご覧ください。
  2. MSA によって、アプリ/サーバーにアクセス トークンとリフレッシュ トークンが提供されます。
    • OAuth 2.0 トークンを提供する MSA のトークン エンドポイントは https://login.live.com/oauth20_token.srf です。
  3. アプリ/サーバーは、AUTHENTICATE コマンドで IMAP サービスにアクセス トークンを渡します。 次の情報を含む base64 エンコードされた文字列が受け付けられます。
    • ユーザー名。
    • 直接 OAuth 2.0 要求の認証の種類 Bearer
    • MSA によって付与されたアクセス トークン。
    たとえば、アプリ/サーバーでは、この文字列を base-64 エンコードします。

    user={user@domain.com}^Aauth=Bearer {Access Token}^A^A

    {user@domain.com} はユーザーのアカウント、{Access Token} は MSA によって付与されたアクセス トークン、^A は Ctrl-A 文字 (U+0001) です。

    XOAuth2 認証の例を次に示します。

    [connection begins]
    C: 000 CAPABILITY
    S: * CAPABILITY IMAP4rev1 AUTH=PLAIN AUTH=XOAUTH2
    S: 000 OK CAPABILITY completed
    C: 001 AUTHENTICATE XOAUTH2 
    S: + 
    C: {base64-encoded string}
    S: * CAPABILITY IMAP4rev1
    S: 001 OK OAuth authentication successful
    [connection continues]
    
  4. アクセス トークンの有効期限が切れた場合は、アプリ/サーバーでリフレッシュ トークンを使って、MSA に新しいアクセス トークンを要求する必要があります。リフレッシュ トークンを使ってアクセス トークンを更新するまでは、有効期限が切れるまで、アプリ/サーバーでこのアクセス トークンを使う必要があります。

IMAP へのアクセス

IMAP にアクセスするには、次の設定を使います。

IMAP

設定
受信 IMAP メール サーバーimap-mail.outlook.com
受信 IMAP メール サーバー ポート993
暗号化SSL
ユーザー名your Microsoft account
パスワードyour password

 

SMTP

設定
送信 SMTP メール サーバーsmtp-mail.outlook.com
送信 SMTP メール サーバー ポート587
暗号化TLS

 

関連トピック

スコープとアクセス許可
OAuth 2.0