IMAP(Internet Messaging Access Protocol)

定義

IMAPは、電子メール(IMAP)サーバーからメールを取得するためのプロトコルを記述したインターネット標準です。

IMAPは何ができますか?

通常、メッセージはサーバー上のフォルダに格納され、整理されます。 コンピュータおよびモバイルデバイス上の電子メールクライアントは、その構造を少なくとも部分的に複製し、アクション(メッセージの削除や移動など)をサーバと同期させます。

これは、複数のプログラムが同じアカウントにアクセスできることを意味し、すべて同じ状態とメッセージをすべて同期して表示します。 これにより、電子メールアカウント間でメッセージをシームレスに移動したり、サードパーティのサービスをアカウントに接続して機能を追加したり(メッセージの自動ソートやバックアップなど)ます。

IMAPはInternet Messaging Access Protocolの頭字語で、プロトコルの現在のバージョンはIMAP 4(IMAP4rev1)です。

IMAPとPOPの比較

IMAPはPOP (Post Office Protocol)よりもメールの保存と検索のための、より最近で高度な標準です。 これにより、電子メールメッセージをユーザのコンピュータに保存する必要がないウェブブラウザなど、メッセージを複数のフォルダに保存し、フォルダ共有やオンラインメール処理をサポートすることができます。

IMAPはメール送信用ですか?

IMAP標準は、サーバー上の電子メールにアクセスして操作するためのコマンドを定義しています。 メッセージの送信操作は含まれません。 メールを送信する(POPを使用し、IMAPを使用して検索する)ために、 SMTP (Simple Mail Transfer Protocol)が使用されます。

IMAPには短所がありますか?

IMAPの高度な機能には、メールを送信する場合と同様に、複雑さとあいまいさも伴います。

たとえば、メッセージが(SMTP経由で)送信された後は、IMAPアカウントの「送信済み」フォルダに保存するためにIMAPを介して再度送信する必要があります。

IMAPは実装が難しく、IMAP電子メールクライアントとサーバーの両方が標準の解釈方法が異なる場合があります。 部分的な実装や非公開の拡張、不可避のバグや癖は、IMAPをプログラマーに苦労させ、ユーザーの希望よりも遅くて信頼性が低い可能性があります。

電子メールプログラムは、例えば、明らかな理由がなくても、フルフォルダを新たにダウンロードし始める可能性があり、検索はサーバに負荷をかけ、複数のユーザに対して電子メールを遅くする可能性があります。

IMAPはどこに定義されていますか?

IMAPを定義する主要な文書は、2003年からRFC(Request for Comments)3501です。

IMAPの拡張機能はありますか?

基本的なIMAP標準では、プロトコルだけでなく、その中の個々のコマンドにも拡張が可能であり、多くは定義され実装されています。

一般的なIMAPの拡張機能には、IMAP IDLE(受信した電子メールのリアルタイム通知)、SORT(サーバでのメッセージの並べ替え、すべての電子メールをダウンロードしなくても最新または最大のものだけを取り込めるようにするメッセージのソート)、THREADフォルダ内のすべてのメールをダウンロードせずにメールクライアントが関連するメッセージを取得できるようにする)、CHILDREN(フォルダの階層を実装する)、ACL(アクセス制御リスト、IMAPフォルダごとに個々のユーザの権限を指定する)

IMAP拡張のより完全なリストは、IMAP(Internet Message Access Protocol)Capabilities Registryにあります。

Gmailには、IMAPの拡張もいくつか含まれています。