- PR -

postfixでユーザのメールスプールの容量制限について

1
投稿者投稿内容
haru
常連さん
会議室デビュー日: 2003/01/04
投稿数: 49
投稿日時: 2005-06-12 20:01
こんにちは
postfixの機能を利用してユーザのメール容量の制限
をかけたいと思っております。

いままではQuotaで制限をかけていたのですが、
POP時エラーがでてしまうことがあり、
postfixの機能だけで制限を実現できればと思ったしだいです。

調べたところ
mailbox_size_limit = 51200000
という項目で制限がかけられることはわかりました。
ちなみにメールはmbox形式で保存しております。

実現したいのはユーザ毎にメールボックスの容量を制限したいのです。
ユーザAはデフォルトの50M
ユーザBは60M
ユーザCは45M
   :
   :
というイメージになります。

検索してみるとパッチにより
default_mailbox_sizeという項目があるというのも
見つけましたが肝心のパッチソースが見つからずお手上げです。

なにかよい方法や別の仕組みとあわせて上記のような
事を実現していますというような設定例ありましたら
アドバイスお願いいたします。

■現在仕様
Turbolinux Server 8.0
postfix-2.0.15
バージョンアップも可能です
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2005-06-12 20:39
手元のpostfixもちょっと古いのでアレなんですが...

postfix自身でそこまで面倒をみるつもりは無さそうなので、そのパッチで
行くか、そうでなければサイズ制限の処理ができるようなMDAを使うか、
ということになるんじゃないでしょーか。
haru
常連さん
会議室デビュー日: 2003/01/04
投稿数: 49
投稿日時: 2005-06-12 20:56
早速のご回答ありがとうございます。

>サイズ制限の処理ができるようなMDA
ということですが、
fetchmailとかprocmailというものを
利用すればサイズ制限が可能ということでしょうか?
Postfixは内部的にはMDAとしてはなにを利用されているのかな?
ちょっと調べてみます。ありがとうございました。
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2005-06-13 00:05
procmailがquota的な機能を備えているかどうかは知りませんが...
無いとしても、サイズをチェックして動作を選ぶようにレシピを
書くことは可能なはずです。mboxひとつだけなら凝ったことを
しなくても軽い動作で済みそうですし。
haru
常連さん
会議室デビュー日: 2003/01/04
投稿数: 49
投稿日時: 2005-07-12 20:59
こんにちは、haruです。
亀レスになってしまい申し訳ありません。
procmail等でサイズを制限するレシピということでしたが
やっぱり探してみてもなかなか見つかりませんでした。
他になにかいい方法ってありませんでしょうか?

そもそもQuotaでPOP時にエラーになってしまう
私の設定がいけない気もしますが、
アドバイスありましたらお願い致しますm(_ _)m
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2005-07-13 23:18
ありゃりゃ、procmailではダメでしたか。
私はprocmailを使わなくなって久しいもので... すみません。

Courier の maildrop ならば可能です。
http://www.courier-mta.org/maildrop/

.mailfilter をこんな感じで書いて。
コード:
mbsize=`stat -f %z $DEFAULT`
if ( $mbsize > 10000000 )
{
    EXITCODE=69
    exit
}

to $DEFAULT


設定値を.mailfilterに書くのもアレなのでファイルから読むように
したほうがユーザ全体の管理はやりやすいでしょうし、どうせなら
Berkeley DB にでもしておいて、そこから値を検索してサイズの
チェックをすませて結果を返り値にしてもどすような外部プログラム
でも作っておけばすっきりするところですが。

引用:

haruさんの書き込み (2005-07-12 20:59) より:
そもそもQuotaでPOP時にエラーになってしまう
私の設定がいけない気もしますが、


ん〜、そりはPOPサーバの実装上、仕方なく起きてるんじゃあ
ないでしょーか。実際どうなのかは分かりませんけど。
1

スキルアップ/キャリアアップ(JOB@IT)