NO IMAGE

Mailbox と Maildir

メールボックスの形式としては、Mailbox と Maildir があるようです。

Mailbox の場合は、ひとつのファイルに、複数のメールが格納された形式で、メール数が増えた場合、レスポンスが悪くなるようです。ちなみに、CentOSは初期値は、この形式です。

Maildir の場合は、メールごとにファイルが分かれるため、レスポンスが良いようです。最近ではこの形式を使うのが主流のようです。

ひとまず、現在のメールボックスの状況を確認してみます。

今のところ、CentOS6.4 導入後、登録したユーザは、satoh163 だけです。

そこで、ユーザのホームディレクトリを表示してみます。

# ls -la /home
drwx——. 2 root root 16384 7月 19 11:59 2013 lost+found
drwx——. 2 satoh163 satoh163 4096 7月 23 03:43 2013 satoh163
# ls -la /home/satoh163
-rw——-. 1 satoh163 satoh163 226 7月 24 17:30 2013 .bash_history
-rw-r–r–. 1 satoh163 satoh163 18 7月 18 22:19 2013 .bash_logout
-rw-r–r–. 1 satoh163 satoh163 176 7月 18 22:19 2013 .bash_profile
-rw-r–r–. 1 satoh163 satoh163 124 7月 18 22:19 2013 .bashrc

(↑ Maildir 形式の場合はこの中に Maildir ディレクトリが存在します。)

また、/var/spool/mail ディレクトリを確認してみます。

# ls -la /var/spool/mail
drwxrwxr-x. 2 root mail 4096 7月 22 01:41 2013 .
drwxr-xr-x. 8 root root 4096 7月 19 12:03 2013 ..
-rw-rw—-. 1 satoh163 mail 0 7月 22 01:41 2013 satoh163

↑ユーザ名(satoh163)のファイルが存在。これがMailbox形式の場合のメールボックスになります。

ちなみに、CentOS にユーザ登録した際に、ホームディレクトリ/ユーザ名/ 以下に作成されるディレクトリは、/etc/skel 以下に存在するディレクトリを元にするらしい。

# ls -la /etc/skel
drwxr-xr-x. 2 root root 4096 7月 19 23:35 2013 .
drwxr-xr-x. 65 root root 4096 7月 24 19:27 2013 ..
-rw-r–r–. 1 root root 18 7月 18 22:19 2013 .bash_logout
-rw-r–r–. 1 root root 176 7月 18 22:19 2013 .bash_profile
-rw-r–r–. 1 root root 124 7月 18 22:19 2013 .bashrc
#

従って、ここに Maildir ディレクトリを作成しておくことで、ユーザ追加時に自動的に、ユーザのホームにも Maildir を作成させるようにします。

# mkdir -p /etc/skel/Maildir/{new,cur,tmp}
# chmod -R 700 /etc/skel/Maildir/

試しに、ユーザinfoを登録してみましょう。

# useradd info

パスワードを設定。

# passwd info
ユーザー info のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: 全ての認証トークンが正しく更新できました。

ユーザ info のホームディレクトリを表示してみます。

# ls -la /home/
drwx—— 3 info info 4096 8月 2 06:53 2013 info
drwx——. 2 root root 16384 7月 19 11:59 2013 lost+found
drwx——. 2 satoh163 satoh163 4096 7月 23 03:43 2013 satoh163
#
# ls -la /home/info
-rw-r–r– 1 info info 18 7月 18 22:19 2013 .bash_logout
-rw-r–r– 1 info info 176 7月 18 22:19 2013 .bash_profile
-rw-r–r– 1 info info 124 7月 18 22:19 2013 .bashrc
drwxr-xr-x 2 info info 4096 8月 2 06:52 2013 Maildir
#

↑自動的に Maildir ディレクトリが作成されています。

また、再度、/var/spool/mail ディレクトリを確認してみます。

# ls -la /var/spool/mail
drwxrwxr-x. 2 root mail 4096 8月 2 06:53 2013 .
drwxr-xr-x. 8 root root 4096 7月 19 12:03 2013 ..
-rw-rw—- 1 info mail 0 8月 2 06:53 2013 info
-rw-rw—-. 1 satoh163 mail 0 7月 22 01:41 2013 satoh163
#

↑こちら(Mailbox形式)にも info が作成されています。

メールボックスとしてのMailbox形式とMaildir形式、どちらを使うかは、Postfix、Dovecot の設定により決まります。

Postfix の設定ファイルは、/etc/postfix/main.cf です。

# vi /etc/postfix/main.cf

メールボックスの形式は、home_mailbox パラメータで設定します。今回は、先頭のコメント(#)を削除し、Maildir形式を有効にします。

#home_mailbox = Mailbox
home_mailbox = Maildir/

Mailbox形式とした場合は、メールスプールディレクトリを指定します。
今回は、Maildir形式を選択したので、以下のパラメータはコメントアウトのままとします。

#mail_spool_directory = /var/mail
#mail_spool_directory = /var/spool/mail

main.cf 等の設定ファイルを変更した場合は、以下のコマンドを実行します。

# service postfix reload

動作確認をしたいところですが、もう少し設定が必要なので、本日はここまで。