Software Design 8 月号 が postfix の特集で,postfix + dovecot + openldap で認証情報を一元管理なんて記事があって,手元でやっていることに似ているので読んでいましたが,もうちょっと工夫すれば,もう少し美しく(これは主観ですが ^^;)設定が可能だなと思って読んでました.
36ページに「Dovecotのメールボックス指定」というコラムがありますが,その中に
Dovecotのメールボックスの形式はdovecot.confの「default_mail_env」で決まります.そのためユーザルックアップに LDAP を使用した場合,返ってきたメールボックスの値に自動的に「/Maildir/」を付加します.
とあります*1.
この記事では imapMailDir としてホームディレクトリ (的なディレクトリ) を指定し,これに default_mail_env の値を連結させて (MAIL環境変数を空にして実現),メールボックスの場所を決定しています.
LDAPを使用した場合にメールボックスの値が default_mail_env に影響されるのは,dovecot-ldap.conf で MAIL 環境変数の値を指定しない場合で,これを指定すれば,別に自動的に値が付加されることはないはずです.
なので postfix と dovecot で,LDAP の同じ属性をメールボックスの値として指定出来るはずです.
ただし,本文中の LDAP のスキーマでは,確かに同じ属性をメールボックスの値として使うとマズそうなので,そういうコラムになっていると思いますが,aliasAccount という objectClass にホームディレクトリを表す属性を追加すれば,ホームディレクトリとメールボックスの属性を組み合わせることで,「自動的に Maildir を付加」することなく,postfix と dovecot で同じ属性を使用することが可能です)).
例えば,
user_attrs = uid,homeDirectory,mailbox,,,
のように指定すると homeDirectory の値と mailbox の値を連結した値がメールボックスの値となります*2.LDAPを使用しないシステムユーザに関しては default_mail_env を使用するように,記事の通り "maildir:~/Maildir/" を指定しておけば良いでしょう.
最近は user_attrs の書式に新しいものが加わったようで,
user_attrs = homeDirectory=home,mailbox=mail
なんて書き方も出来るみたいです.
この辺りは,Plamo Linux で OpenLDAP + postfix + dovecot 環境を構築したときのメモ にもう少し詳しく書いてます.