IMAP(Internet Message Access Protocol)とは
Internet Message Access Protocol(インターネットメッセージアクセスプロトコル)、略してIMAP(アイマップ)は、メール
サーバ上の
電子メールにアクセスし、操作するためのプロトコルです。クライアントと
サーバ間の通信にはTCPが用いられ、通常、
サーバ側はIMAP4ではポート番号143番、IMAPS(IMAP over SSL)では993番を使用します。
IMAPの概要
IMAPは、メールをメール
サーバ上に保存したまま管理することを基本としています。これは、メールをクライアントにダウンロードして
サーバから削除するPOP(
Post Office Protocol)とは対照的です。この特性により、
Webメールや複数のコンピュータから同一
アカウントのメールを読む場合に、メールの未読状態やフォルダ構成などを一元的に管理できるという利点があります。
IMAPは、当初IMAPが開発され、その後IMAP2、IMAP3、IMAP2bisなどが作られましたが、現在IMAPという場合は、一般的にIMAP4を指します。IMAP4はプロトコルの仕様が複雑であったため、当初はあまり普及しませんでしたが、Netscapeや
Internet Explorerに標準搭載のメールソフトがIMAP4に対応したことや、相互接続試験やプロトコルの改訂・拡張により相互運用性が高まったことで、利用者が広がりました。
POPとの比較
POPは以下の利点と欠点を持っています。
POPの利点
常時接続ではないネットワーク環境で有利
メールをローカルに保存しオフラインで閲覧可能
サーバ側の保存容量を少なくできる
POPの欠点
複数の端末でメールを共有できない
メールをサーバに保存する手段がない
メールの一部のみを取得する機能がオプション
IMAPはPOPの利点を活かしつつ、欠点を解消しています。具体的には以下の通りです。
IMAPの利点
オンライン・オフラインいずれでも利用可能
オフライン操作はトランザクションログとして保存し、
サーバ接続時に反映可能
メールはサーバに常時保存され、複数の端末からメール状態を一元管理可能
メールフォルダはプロトコルの一部として標準化されており、メールソフトの種類に関わらずフォルダを管理可能
メールの一部のみを取得可能(ヘッダのみ、マルチパートのテキスト部分のみなど)
メールを
サーバに保存する手段がある
サーバ側でメッセージの検索が可能
IMAPの欠点
メール
サーバはメールのオリジナルを管理する必要があり、大規模システムでは莫大な量のメール管理が必要となる
IMAP4では、IMAPの初期バージョンにあったリモート実行によるプロトコルの複雑さやセキュリティ上の懸念が改善されています。
IMAPの採用例
IMAPは、多くのメール
サーバやクライアントで採用されています。以下にその例を挙げます。
サーバ
Courier-IMAP
UW 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
IMAPに関するRFC(Request for Comments)は多数存在し、プロトコルの詳細な仕様や拡張機能が定義されています。主要なRFCを以下に示します。
RFC 5464 - The IMAP METADATA Extension
RFC 5258 - Internet Message Access Protocol version 4 - LIST Command Extensions
RFC 5257 - Internet Message Access Protocol - ANNOTATE Extension
RFC 5256 - Internet Message Access Protocol - SORT and THREAD Extensions
RFC 5255 - Internet Message Access Protocol Internationalization
RFC 5182 - IMAP Extension for Referencing the Last SEARCH Result
RFC 5162 - IMAP4 Extensions for Quick Mailbox Resynchronization
RFC 5161 - The IMAP ENABLE Extension
RFC 5092 - IMAP URL Scheme
RFC 5032 - WITHIN Search Extension to the IMAP Protocol
RFC 4978 - The IMAP COMPRESS Extension
RFC 4959 - IMAP Extension for Simple Authentication and Security Layer (SASL) Initial Client Response
RFC 4731 - IMAP4 Extension to SEARCH Command for Controlling What Kind of Information Is Returned
RFC 4551 - IMAP Extension for Conditional STORE Operation or Quick Flag Changes Resynchronization
RFC 4550 - Internet Email to Support Diverse Service Environments (Lemonade) Profile
RFC 4549 - Synchronization Operations for Disconnected IMAP4 Clients
RFC 4469 - Internet Message Access Protocol (IMAP) CATENATE Extension (日本語訳)
RFC 4468 - Message Submission BURL Extension
RFC 4467 - Internet Message Access Protocol (IMAP) - URLAUTH Extension
RFC 4466 - Collected Extensions to IMAP4 ABNF
RFC 4416 - Goals for Internet Messaging to Support Diverse Service Environments
RFC 4315 - Internet Message Access Protocol (IMAP) - UIDPLUS extension
RFC 4314 - IMAP4 Access Control List (ACL) Extension
RFC 3691 - IMAP UNSELECT command
RFC 3516 - IMAP4 Binary Content Extension
RFC 3503 - Message Disposition Notification (MDN) profile for IMAP
RFC 3502 - IMAP MULTIAPPEND Extension
RFC 3501 - INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1
RFC 3348 - IMAP4 Child Mailbox Extension
RFC 2971 - IMAP4 ID extension
RFC 2683 - IMAP Implementation Recommendations
RFC 2595 - Using TLS with IMAP4, POP3 and ACAP
RFC 2359 - IMAP4 UIDPLUS extension (RFC 4315によって改訂)
RFC 2342 - IMAP4 Namespace
RFC 2221 - IMAP4 Login Referrals
RFC 2195 - IMAP/POP AUTHorize Extension for Simple Challenge/Response
RFC 2193 - IMAP4 Mailbox Referrals
RFC 2192 - IMAP URL Scheme (RFC 5092によって改訂)
RFC 2180 - IMAP4 Multi-Accessed Mailbox Practice
RFC 2177 - IMAP4 IDLE command
RFC 2095 - IMAP/POP AUTHorize Extension for Simple Challenge/Response (RFC 2195によって改訂)
RFC 2088 - IMAP4 non-synchronizing literals
RFC 2087 - IMAP4 QUOTA extension
RFC 2086 - IMAP4 ACL extension (RFC 4314によって改訂)
RFC 2061 - IMAP4 COMPATIBILITY WITH IMAP2BIS
RFC 2060 - INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1 (RFC 3501によって改訂)
RFC 1733 - DISTRIBUTED ELECTRONIC MAIL MODELS IN IMAP4
RFC 1732 - IMAP4 COMPATIBILITY WITH IMAP2 AND IMAP2BIS
RFC 1731 - IMAP4 Authentication Mechanisms
RFC 1730 - INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4 (RFC 2060によって改訂)
RFC 1203 - INTERACTIVE MAIL ACCESS PROTOCOL - VERSION 3
RFC 1176 - INTERACTIVE MAIL ACCESS PROTOCOL - VERSION 2
RFC 1064 - INTERACTIVE MAIL ACCESS PROTOCOL - VERSION 2 (RFC 1176, RFC 1203によって改訂)
関連項目
POP3
JMAP
SMTP
プッシュ型[[電子メール]]
修正UTF-7
メール
サーバ