Help us understand the problem. What is going on with this article?

Postfixのmailbox_size_limitについて調べてみる

More than 1 year has passed since last update.

前置き

あるエントリの補足として調べていたら脱線しすぎたので別エントリとして作成。

mailbox_size_limitとは?

Postfixでは1メッセージ(=メール)あたりの制限message_size_limitとMailbox(mbox)あたりの制限mailbox_size_limitがある(他にもあるが今回は省略)。基本的にMailboxはユーザごとに作られるため、mailbox_size_limitはメールアカウント毎の容量制限となる。
設定でMaildir/形式を利用している場合は前者のみ気にしていればいいが、Mailbox形式だとIMAPを利用している場合は受信トレイ、POP3の場合はサーバに残るメールの容量上限となる。
もし受信したメールをMailboxに追記した時、この上限を超えるようだとメールは保存されず送信者に対してMAILER-DAEMONからエラーメッセージが返信される。その後より小さなメールが届いて上限を超えないようならそのメールは保存される。

具体的なmailbox_size_limitの上限値

ググると初期値が50MB(5120000)とか0を指定すると無制限になるとか出てくるが、本当に無制限になるとかありえないので実際はいくらなのか調べてみる。

Postfix 2.xの早いバージョンでは経験的に2GBであると知っていた。これにより上限は2^31-1バイトで、mailbox_size_limit = 2147483647となる。

Postfix 2.9からは2GB以上のMailboxサイズに対応したようで、ソースのpostfix/src/global/mail_params.hを確認すると確かにPostfix 2.8まではintだったものがlongへと置き換わっている(ただしmessage_size_limitは10MBで変わりないので初期値はmessage_size_limit*5の50MBのまま)。
つまり2^63-1バイト(8EiB)までメールボックスが大きくなっても大丈夫!
また、もとはintであったことから前述の2GiB制限とも合致する。

実際にPostfix 2.10でmailbox_size_limit = 9223372036854775807だとメール受信可能だが、mailbox_size_limit = 9223372036854775808にするとmaillogにエラーが記録され受信できなくなる。
なお、この設定値はメールを受信して保存する際まで実際に評価されることが無いため、postconfとかpostfix checkで設定値が正常か異常か判断することができないのが厄介。

従って、mailbox_size_limit = 0と指定することでPostfix 2.8以前では2GiB-1バイトが、Postfix 2.9以降では8EiB-1バイトがMailboxの上限となる。

ちなみに標準ではCentOS 6ではPostfix 2.6、CentOS 7ではPostfix 2.10となっている。

papillon
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした