IMAP4【Internet Message Access Protocol Version 4】

広告

広告

IMAP4とは

最終更新
2005-12-25T13:21:00+09:00
この記事のURI参照
https://www.7key.jp/nw/technology/protocol/imap4.html#what

IMAP4POP3と同じく、メールサーバ上のメールボックスにアクセスをし、メールを操作するためのプロトコルです。ポート番号は一般にTCP143が用いられ、TCPコネクションの確立後、コマンド、レスポンス方式で処理が行われます。

同じくとは言いましてもIMAP4POP3は目的が同じなだけであり、機能やプロトコルの内容は大きく異なっています。これはPOP3が抱えていた幾つかの問題点を改善し、IMAP4が作り出されたからです。IMAP4の特徴として次の項目が挙げられます。

システムフラグ一覧
フラグ名意味
\Seenこのメッセージは閲覧済みである(既読)
\Answeredこのメッセージは返信済みである
\Flagged何らかの意味を付加したい際に利用する汎用フラグ
\Deleted削除予定フラグ。EXPUNGEコマンドによって削除される
\Draftメッセージが草稿状態であることを示す
\Recent最近メールボックスに届いたことを意味する。サーバによってのみ付加され、クライアントからは変更できない

IMAP4のコマンドとレスポンス

最終更新
2005-12-25T14:54:00+09:00
この記事のURI参照
https://www.7key.jp/nw/technology/protocol/imap4.html#command

IMAP4のクライアントコマンド

コマンド意味
全ての状態で可能CAPABILITYサーバの機能リストを要求
NOOP操作無し(リセット用)
LOGOUTサーバからのログアウト
IDLEサーバがアイドル状態に移行するよう指示
NAMESPACE名前空間の一覧を表示
非認証状態で可能AUTHENTICATE 認証方法名指定した認証方法でのログイン動作を開始
LOGIN ユーザ名 パスワードサーバへのログイン
認証状態で可能SELECT メールボックス名メールボックスを選択する
EXAMINE メールボックス名メールボックスを選択する(読み込み専用)
CREATE メールボックス名メールボックスの新規作成
DELETE メールボックス名メールボックスの削除
RENAME 旧メールボックス名 新メールボックス名メールボックス名の変更
SUBSCRIBE メールボックス名メールボックス名のアクティブ/予約設定
UNSUBSCRIBE メールボックス名メールボックス名のアクティブ/予約解除
LIST 参照位置 ワイルドカードメールボックスの予約一覧を表示する
RLIST 参照位置 ワイルドカード他サーバのメールボックスも含めたLIST
LSUB 参照位置 ワイルドカードアクティブ/予約のメールボックス/属性の一覧表示
RLSUB 参照位置 ワイルドカード他サーバのメールボックスも含めたLSUB
STATUS メールボックス名 取得ステータス指定したメールボックスのステータスを表示
APPEND メールボックス名 [フラグ] [Date] メール内容メールボックスへのメッセージの追加
選択状態で可能CHECKメールボックスのチェックポイントを要求
CLOSEメールボックスの選択を終了
EXPUNGE削除フラグ(\Deleted)付きのメッセージの完全削除
SEARCH [キャラクタセット] 検索条件メールボックス内のメッセージ検索
FETCH メッセージ番号 取得データ種類メッセージのヘッダ、データ項目を抽出
STORE メッセージ番号 フラグ状態 フラグ名メールのフラグを変更/FETCHデータの更新
COPY メッセージ番号 メールボックス名メッセージのコピー
UID コマンド引数COPY,FETCH,STORE,SEARCH(,EXPUNGE)コマンドをUIDを用いて実行
その他X<atom>先頭がXという名前の実験用/拡張コマンド
GETQUOTA 資源名使用できるディスク容量を表示
SETQUOTA 資源制限リスト使用できるディスク容量を設定
GETQUOTAROOT メールボックス名メールボックスのQUOTAを表示

IMAP4のサーバレスポンス

レスポンス意味
OK正常終了
NOエラー終了
BADプロトコルレベルでのエラー終了
PREAUTHコネクションは既に認証済み
BYEコネクション終了
CAPABILITYCAPABILITYコマンドへの応答
LISTLISTコマンドへの応答
LSUBLSUBコマンドへの応答
STATUSSTATUSコマンドへの応答
SEARCHSEARCHコマンドへの応答
FLAGSSELECT/EXAMINコマンドへの応答
EXISTSSELECT/EXAMINコマンドへの応答(メッセージ数)
RECENTSELECT/EXAMINコマンドへの応答(最新のフラグ)
EXPUNGEEXPUNGEコマンドへの応答
FETCHFETCHコマンドへの応答

IMAP4の状態

最終更新
2005-12-25T15:23:00+09:00
この記事のURI参照
https://www.7key.jp/nw/technology/protocol/imap4.html#status

IMAP4状態遷移図

認証状態

クライアントサーバとの接続を行っていない状態です。承認要求(AUTHENTICATE)によりユーザ認証を要求するか、平分のユーザ名とパスワードによるログイン要求(LOGIN)を行うことによって認証済み状態に移行します。サーバがクライアントの指定した認証メカニズムをサポートしていない場合、認証要求は拒否されます。

認証済み状態

サーバに接続はできているものの、メールボックスが未選択の状態です。この状態でもメールボックスの操作は可能です。

選択済み状態

何れかのメールボックスが選択された状態です。メールボックス内のメールメッセージについて、抽出(FETCH)や更新(STORE)等の操作が可能です。この状態からCLOSEを行うと認証済み状態に戻り、LOGOUTを行うとログアウト状態に移行します。

ログアウト状態

コネクションが切断された状態です。

補足知識

最終更新
2005-12-25T13:44:00+09:00
この記事のURI参照
https://www.7key.jp/nw/technology/protocol/imap4.html#supplement

POP3のUIDLと同じく、IMAP4にもUIDと呼ばれるメールボックス内で永続的に一意であることが保障される番号と、メールボックス内の連番であるメッセージ番号があります。

また、メールボックス名とは別に、メールボックスを一意に識別するためのUID-Validityと呼ばれる数値があります。

広告

当ページ作成にあたり、参考にさせてもらったリソース

Copyright (C) 2005 七鍵 key@do.ai 初版:2005年12月25日 最終更新:2005年12月25日