Categories: IT用語解説

IMAPとは?概要や仕組みを嚙み砕いて徹底的に解説

Gmail や Yahoo!メール など複数のデバイスで同じアドレスのメールを閲覧・管理できるのはご存じでしょう。デバイスの代替性という面でも利便性が高いため、業務利用されている企業も少なくないと思います。

複数デバイスから1つのアドレスのメールを取得・管理できるメールシステムは IMAP という通信プロトコルが支えていることを知っている方は多くないでしょう。

そこで、今回は IMAP と呼ばれる通信プロトコルについて、概要や仕組み、セキュリティリスクと対策まで、初心者でもわかるように噛み砕いて解説していきます。

ぜひ最後までご覧ください。

スポンサーリンク

IMAPとは?

それではさっそく IMAP について解説していきます。

IMAPの概要

書き方IMAP
読み方アイマップ
英語名Internet Message Access Protocol

IMAPとは…
Internet Message Access Protocol(インターネット メッセージ アクセス プロトコル)の略。
インターネットなどのTCP/IPネットワークで標準的に用いられる、電子メール(eメール)を受信するためのプロトコルのうちの1つ。 電子メールを保管しているサーバにアクセスし、メールを取得・管理する方式を定めている。
または、上記方式を用いてメールを取得・管理することを指す。
(※現在はバージョン4である、「IMAP4」が主流となっているため、IMAP=IMAP4と認識されることが多い)

上記の解説だと分からない方向けにさらに噛み砕いて解説していきます。

IMAP は届いた電子メール(eメール)を読む方法が定められた手順書(マニュアル)のようなものを指します。
また、IMAP によって定められた方法で電子メール(eメール)を操作すること自体も IMAP と呼ばれることがあります。

受信用メールサーバーに届いたメールを直接読みに行く手法や操作を IMAP と呼ぶと覚えておきましょう。

なお、IMPA はあくまで電子メール(eメール)を受信するためのプロトコルのため、送信やサーバ間の配達には SMTP(Simple Mail Transfer Protocol)という別のプロトコルを用いることになります。

そのため、「IMAP」と「SMTP」は電子メール(eメール)の送受信にセットで必要と覚えると良いでしょう。

IMAPの特徴

IMAP を使用すると、メールサーバに届いたメールデータに対して直接閲覧などの操作を行うことになります。そのため、各操作を反映させるためにはインターネット接続が必須になります。
なお、基本的にメールは削除操作が実行されるまでサーバーに残り続け、複数デバイスから操作を行うことができます。

分かりやすく簡潔まとめると、「メールデータにアクセスするにはサーバーに接続する必要がある。メールは削除操作を行わない限り受信後もサーバに残り続け、メールに対して行った操作はサーバー上のデータに反映される」ということです。

これによるメリットとデメリットは下記の通りです。

メリット

  • 複数端末での受信・閲覧が可能
  • ラベルや未読・既読などのメール操作を共有可能
  • 端末上のデータ保存容量を圧迫しない

デメリット

  • メールへの操作反映にインターネット回線への接続が必要
  • メールサーバーの保存容量を圧迫する

IMAPの歴史

最も初期のバージョンはIETFが1988年にRFC 1064として策定したIMAP2だが、正式名称は現在と異なり “Interactive Mail Access Protocol” だった。1994年にIMAP4がRFC 1730として策定され、このとき現在の名称に改められた。IMAP4は最も普及したバージョンであり、単にIMAPといった場合はIMAP4を指すことが多い。IMAP4には様々な拡張仕様が追加され、2003年にはRFC 3501として改訂されている。

(引用:IMAP【Internet Message Access Protocol】IMAP4-IT用語辞典 e-Words

メール送受信の仕組み

前述した通り、メール送受信は2種類のプロトコルが組み合わさって行われています。
そこで今回は、メール送受信の流れの中でIMAPがどのように関わっているのかを分かりやすく解説していきます。

メール送受信の主要なプロトコル

IMAPを用いたメールの送受信には主に2種類のプロトコルが関わっています。

メール送信SMTP(Simple Mail Transfer Protocol)
メール受信IMAP(Internet Message Access Protocol)

SMTPはクライアントを使って作成したメールデータをメールサーバに転送する役割を持っています。
IMAPはメールサーバに届いたメールデータを閲覧する役割を持っています。

送信用と受信用に2つのプロトコルが連携して、私たちの日常のメール通信が成り立っています。

IMAPを使用したメール送受信の流れ

  1. 送信サイドのクライアントにてメールデータを作成
  2. SMTPを使用してメールデータを送信者のメールサーバに転送
  3. DNSサーバーを経由して送信先を確認
  4. SMTPを使用して送信者のメールサーバから受信者のメールサーバに転送
  5. IMAPを使用して受信者のサーバーに転送されたメールデータを取得
  6. コマンドによって閲覧などの処理を実行

IMAPの具体的な動作

前章で IMAP を使用したメールの基本的な送受信の仕組みを解説しましたが、本章ではなかでも IMAP がどのように動作するのか、その具体的なステップやコマンドについて噛み砕いて解説しています。

メール受信のステップ

IMAPを使用したメール受信のステップは大きく下記の通りです。

  1. デバイスからメールサーバに接続する
  2. IMAPのコマンドを使用して必要な情報を取得
    (※デバイス上にキャッシュとして保持)
  3. 未既読状態や返信有無、削除状況など操作ごとにステータス処理を実行
  4. メールサーバーから切断

このように、IMAPは受信したメールの取得から各操作までを管轄しています。

IMAPのコマンド一覧

IMAPはメールサーバー上のメールデータに対して操作を行うため、それぞれのアクセス段階に合わせコマンドが存在します。

認証

コマンド操作内容
LOGINログイン
AUTHENTICATE指定した認証方法でログイン動作を開始
※以降のログイン動作は認証方法により異なる(RFC2222他により、それぞれの認証方法での動作を定義している)
AUTHENTICATEログアウト

メールボックス管理

コマンド操作内容
SELECTメールボックスを選択
※以降のメール操作は、そのメールボックス内の操作となる
EXAMINE読み込み専用でSELECTを行う
CREATE指定したメールボックスを新規作成
DELETE指定したメールボックスを削除
RENAMEメールボックス名を変更
SUBSCRIBE指定したメールボックスを購読
UNSUBSCRIBE指定したメールボックスの購読をやめる
LISTメールボックスの一覧を表示
RLIST他サーバのメールボックス(リモート・メールボックス)を含めての一覧を表示
LSUB購読しているメールボックスの一覧を表示
RLSUB他サーバのメールボックスを含め購読しているメールボックスの一覧を表示
STATUS指定したメールボックスのステータスを表示
CHECKチェックポイントを明示的に発生させる
CLOSEメールボックスの選択を終了

メール操作

コマンド操作内容
APPEND指定したメールボックスに任意のメール内容を追加
EXPUNGE現在\Deletedフラグの立っているメールをすべて物理的に削除
SEARCH指定された検索条件やキャラクタセットに従ったメールを検索
FETCHメールメッセージを取得
※取得データ種類を指定してメールの一部のみやフラグを取得することもできる
STORE指定したメッセージ番号のメールのフラグを変更
COPY指定したメッセージ番号のメールを、指定したメールボックスへコピー
UIDCOPY、FETCH、STOREコマンドをUIDを用いて実行
※RFC2359ではEXPUNGEにも適用して、\Deletedフラグの付加なしに直接UIDを用いて削除できるように拡張

状態

コマンド操作内容
CAPABILITYサーバの提供する機能一覧を表示する
NOOP何もしない

その他

コマンド操作内容
IDLEサーバがアイドル状態に移行するよう指示
NAMESPACE名前空間の一覧を表示
GETQUOTA使用できるディスク容量値を表示
SETQUOTA使用できるディスク容量値を設定
GETQUOTAROOT指定されたメールボックスのQUOTAを表示

IMAP では、これらのコマンドを適宜使用しメールの取得や管理を行っています。

IMAPのセキュリティリスクと対策

メールの受信に関わる IMAP は、データの暗号化やパスワードの秘匿といったセキュリティ保護機能がありません。そこで本章では、IMAP のセキュリティリスクとその対策、さらにはセキュアな通信を実現するための方法について解説します。

IMAPのセキュリティリスク

IMAPの持つセキュリティリスクは「データの暗号化やパスワードの秘匿といったセキュリティ保護機能がない」という点にあります。

そのためセキュリティリスクは下記の2点です。

  • 認証情報が平文でネットワークを流れる
  • メール本文が平文でネットワークを流れる
    ※平文:暗号化されていない文章や文字列のこと

IMAPのセキュリティ対策

先述したようなセキュリティリスクの対策としてとられている対策をご紹介します。

対策:SSL/TLSの利用

SSL/TLSは、インターネット上での情報の暗号化と認証を提供するプロトコルです。

IMAPと併用して利用することを「IMAPS(IMAP over SSL/TLS、「IMAP4S」)」と呼び、IMAPによる通信全体を暗号化することができます。
なお、通常のIMAPはTCPの143番ポートを利用することが多いですが、IMAPSの場合、993番を利用することが多いです。

現在、用いられている多くのメールサービスやクライアントは、SSL/TLSをサポートしており、これによる暗号化の実現でセキュアなメール通信を実現しています。

まとめ

本記事では、メール受信プロトコル IMAP の概要や仕組み、包括するセキュリティリスクと対策を解説しました。

スマホやPCなど複数のデバイスで同じメールを管理できる便利な世の中になりましたが、そういったメールシステムの背景には、IMAPのような通信プロトコルが存在しています。

現在、IMAPはPOP3と並ぶほど多くのメールシステムに採用されており、SSL/TLSとの連携により安全なメール通信を実現しています。

情シスの担当者の方は、通信プロトコルの一部を理解することでよりセキュアな社内環境を整えることにつながるため、本記事で学んだ内容をぜひ覚えて帰ってください。

情シスマン

情報システム部の担当として知見を深めた内容を発信していきます。

Recent Posts

【JSTQB】3章 静的テスト|解説

(※当記事は、2024年12月…

5日 ago

【JSTQB】1章 テストの基礎|解説

(※当記事は、2024年12月…

6日 ago

Gitとは?利便性や用途について深掘りして解説

エンジニアとしてプログラミング…

2週間 ago

This website uses cookies.