Internet Message Access Protocol

**Internet Message Access Protocol**（インターネット メッセージ アクセス プロトコル、**IMAP**(アイマップ)） は、メールサーバ上の電子メールにアクセスし操作するためのプロトコル。クライアントとサーバがTCPを用いて通信する場合、通常サーバ側はIMAP4ではポート番号143番、IMAP over SSL (IMAPS) では993番を利用する。

## 概要
POPはユーザが利用中のサーバからクライアントにメールをダウンロードし、ダウンロードがすんだメールはサーバから削除することを標準的な利用形態とするのに対し、IMAP はメールをメールサーバ上に保存したまま管理する（ 参照）。この特性により、Webメールや複数のコンピュータから同一アカウントのメールを読む場合に、メールの未読状態等の属性やメールフォルダの構成等が一元的に管理できる利点がある。もともとはオリジナルであるIMAPが開発されたが、IMAP2、IMAP3、IMAP2bisなどが作られ、現在IMAPと呼ぶときにはIMAP4を指すことが通常である。プロトコルの仕様が複雑であったためあまり広く普及しなかったが、NetscapeやInternet Explorerに標準で含まれているメールソフトがIMAP4に対応し、また相互接続試験やプロトコルの様々な改訂・拡張により相互運用性が高まったため、利用者が広がった。

## POPとの比較
POPは以下の利点と欠点を持つ。
* POPプロトコルは常時接続ではないネットワークアクセスにおいて有利である。
* ユーザーはメールのローカルコピーを取得し、メールをオフラインで読める。
* メールフォルダはMUAより管理されプロトコルには含まれていない。
* 通常、メールはサーバから取得された直後に削除する。すなわちサーバは未読のメールだけ保持しておけばよいので、サーバ側の保存容量は少なくて済む。
* 複数の端末からメールを取得すると、別の端末でダウンロードしたローカルコピーにアクセスできない。
* メールをサーバに保存する手段がない。
* メールを取得する際にメールの一部のみを取得する手段がオプションとなっている。
IMAPはPOPの利点を生かしつつ欠点を解消している。
* IMAPプロトコルはオンライン・オフラインいずれでも利用できる。
* オフライン操作はMUA側でトランザクションログとして保存し、サーバに接続した時点でコミットすることで反映できる。
* 通常、メールはサーバに常時保存される。ローカルコピーを取得した時点でサーバから削除することもできる（ただし基本的にサーバ側の保存容量は増加する）。
* 複数の端末からメール状態を一元管理できる。複数の端末で同じメールを読める。
* メールフォルダはプロトコルの一部として標準化されており、メールソフトの種類に関係なくフォルダを管理できる。
* メールの一部のみを取得できる。ヘッダのみの取得、マルチパートのテキスト部分のみの取得といった操作ができる。
* メールをサーバに保存する手段がある。フォルダ全体のスナップショットを別のサーバに転送できる。
* メッセージの検索をサーバ側で行わせることができ、クライアント側の負荷減少に寄与できる。
* IMAP4より古いIMAPはリモート実行によるプロトコルの複雑さとセキュリティ上の懸念があった。IMAP4では改善された。
* メールサーバはメールのオリジナルを管理しなければならない。大規模システムでは莫大な量のメール管理が必要となる。

## IMAPの採用例
### サーバ
* Courier-IMAP
* 
* Cyrus IMAP server
* Dovecot

### クライアント
* メール - Apple
* Becky! Internet Mail
* Eudora
* Gaucho Internet Mailer
* Gnus
* Mew
* Microsoft Entourage
* Microsoft Outlook Express
* Microsoft Outlook
* Mozilla Thunderbird
* Mutt
* Opera M2
* Shuriken Pro4
* Sylpheed
* sweetmail Kuro
* sweetmail namera
* Winbiff
* Wanderlust
* 秀丸メール

### ウェブメールクライアント
* RoundCube
* SquirrelMail

### サービス
* MobileMe - Apple
* AIM Mail - AOL
* Gmail - Google
* Outlook.com - マイクロソフト

## RFC
*  - The IMAP METADATA Extension 
*  - Internet Message Access Protocol version 4 - LIST Command Extensions
*  - Internet Message Access Protocol - ANNOTATE Extension
*  - Internet Message Access Protocol - SORT and THREAD Extensions
*  - Internet Message Access Protocol Internationalization
*  - IMAP Extension for Referencing the Last SEARCH Result
*  - IMAP4 Extensions for Quick Mailbox Resynchronization
*  - The IMAP ENABLE Extension
*  - IMAP URL Scheme
*  - WITHIN Search Extension to the IMAP Protocol
*  - The IMAP COMPRESS Extension
*  - IMAP Extension for Simple Authentication and Security Layer (SASL) Initial Client Response 
*  - IMAP4 Extension to SEARCH Command for Controlling What Kind of Information Is Returned
*  - IMAP Extension for Conditional STORE Operation or Quick Flag Changes Resynchronization
*  - Internet Email to Support Diverse Service Environments (Lemonade) Profile
*  - Synchronization Operations for Disconnected IMAP4 Clients
*  - Internet Message Access Protocol (IMAP) CATENATE Extension *([http://www.kasai.fm/wiki/imap_cat 日本語訳])*
*  - Message Submission BURL Extension
*  - Internet Message Access Protocol (IMAP) - URLAUTH Extension
*  - Collected Extensions to IMAP4 ABNF
*  - Goals for Internet Messaging to Support Diverse Service Environments 
*  - Internet Message Access Protocol (IMAP) - UIDPLUS extension
*  - IMAP4 Access Control List (ACL) Extension
*  - IMAP UNSELECT command
*  - IMAP4 Binary Content Extension
*  - Message Disposition Notification (MDN) profile for IMAP
*  - IMAP MULTIAPPEND Extension
*  - **INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1**
*  - IMAP4 Child Mailbox Extension
*  - IMAP4 ID extension
*  - IMAP Implementation Recommendations
*  - Using TLS with IMAP4, POP3 and ACAP
*  - IMAP4 UIDPLUS extension *(<nowiki/>によって改訂)*

*  - IMAP4 Namespace
*  - IMAP4 Login Referrals
*  - IMAP/POP AUTHorize Extension for Simple Challenge/Response
*  - IMAP4 Mailbox Referrals
*  - IMAP URL Scheme *(<nowiki/>によって改訂)*
*  - IMAP4 Multi-Accessed Mailbox Practice
*  - IMAP4 IDLE command
*  - IMAP/POP AUTHorize Extension for Simple Challenge/Response *(<nowiki/>によって改訂)*
*  - IMAP4 non-synchronizing literals
*  - IMAP4 QUOTA extension
*  - IMAP4 ACL extension *(<nowiki/>によって改訂)*

*  - IMAP4 COMPATIBILITY WITH IMAP2BIS
*  - INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1 *(<nowiki/>によって改訂)*
*  - DISTRIBUTED ELECTRONIC MAIL MODELS IN IMAP4
*  - IMAP4 COMPATIBILITY WITH IMAP2 AND IMAP2BIS
*  - IMAP4 Authentication Mechanisms
*  - INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4 *(<nowiki/>によって改訂)*
*  - INTERACTIVE MAIL ACCESS PROTOCOL - VERSION 3
*  - INTERACTIVE MAIL ACCESS PROTOCOL - VERSION 2
*  - INTERACTIVE MAIL ACCESS PROTOCOL - VERSION 2 *(, <nowiki/>によって改訂)*

## 関連項目
* POP3
* JMAP
* SMTP
* プッシュ型電子メール
* 修正UTF-7
* メールサーバ

## 脚注