メール保管形式「mbox形式」と「Maildir形式」とは?

投稿者 : OSCA

[PR] "出川哲朗の充電させてもらえませんか?"で登場したロケ地を紹介するファンサイト「あの場所へ行こう!」はこちら。

本稿では、メールサーバーにおけるメール保管形式である mbox 形式と Maildir 形式について解説します。

それぞれの形式の概要

mbox 形式は古くから使われている形式で、受信した全てのメールを平文で1つのファイルに連結して保管する形式です。それに対して Maildir 形式は新しい形式で、1通のメールを1つのファイルとして保管する形式です。

ファイルの保存場所

慣習的に mbox 形式のファイルは下記のようなディレクトリに保存されます。

  • /var/mail/ユーザー名
  • /var/spool/mail/ユーザー名 (CentOS / RedHat)

Maildir 形式の場合は、ユーザーそれぞれのホームディレクトリに保存されます。

  • /home/ユーザー名/Maildir/

メリットとデメリット

mbox 形式と Maildir 形式を比較した場合、Maildir 形式の方が優れていると言われています。

ファイル破壊の観点を考えた場合、mbox 形式はファイルが1つですのでファイルが壊れると全てのメールを失う事になってしまいます。 それに対して Maildir 形式は1通のメールごとにファイルが異なる為、1つファイルが壊れても1通のメールを失うだけに済みます。

また、mbox 形式はファイルが1つなのでファイルをロックしてしまうと他の操作ができなくなってしまいます。 Maildir 形式であればファイルロックの範囲がメール単位ですので、ロック待ちなどの発生が抑えられます。

また、mbox 形式は1つのファイルがひたすら肥大化していってしまうというデメリットもあります。

セキュリティの面では、Maildir 形式の場合は上記の通り各ユーザーのホームディレクトリにファイルが配置される為、アクセス権限を持つユーザーからしかアクセスされることはありませんが、mbox 形式の場合は全てのユーザーが共有しているフォルダ配下にファイルが配置されてしまいます。

しかし mbox は古くからある形式なので多くのツールが対応しているというメリットがあります。 例えば mail コマンドは mbox 形式に対応していますが Maildir 形式には対応していません。

おわりに

本稿ではメールの保管形式である「mbox形式」と「Maildir形式」について概要と違いを解説しました。

Miscのトップへ戻る

著者 : OSCA

OSCA

Java, PHP 系のWEBエンジニア。 WEBエンジニア向けコミュニティ「WEBエンジニア勉強会」を主催。 個人として何か一つでも世の中の多くの人に使ってもらえるものを作ろうと日々奮闘中。
@engineer_osca