ケーススタディ: 誰でも投稿可能なML article_post_restrictions 変数は 「記事の投稿を許すメンバー」を定義しています。 これを permit_anyone とすると、だれでも投稿可能になります。 article_post_restrictions = permit_anyone &fml4; と異なり、 上のように書くと本当に「誰でも投稿可能」となることに注意して下さい。 *_restrictions 変数には reject_system_special_accounts という root などを弾くルールが別途あります。 デフォルトでは、それらを明示的に指定しています (&fml4; では、このあたり曖昧でした)。 &fml4; のように、 root などシステムの特別なアカウントは弾き、 それ以外のユーザからのメールは受け付けるという場合、次のようにします。 article_post_restrictions = reject_system_special_accounts permit_anyone 注: 以前は reject でしたが、 &fml8; 2008/08/17 以降のバージョンでは isolate (SPAM の隔離)が推奨です。 article_post_restrictions = isolate_system_special_accounts permit_anyone ちなみに 2008/08/17 以前 の article_post_restrictions のデフォルトは &fml4; 互換のため、 次のようになっています article_post_restrictions = reject_system_special_accounts permit_member_maps reject この意味は 「root などシステムの特別なアカウントからの投稿は拒否」し、 「member_maps にあるユーザであれば投稿を許可」 そうでないなら 「投稿を拒否する」 となります。 なお「reject_なになに」および「permit_なになに」という命令は、 マッチしたところで処理が終りになります。 マッチしない場合には次の条件を試します。 2008/08/17 以降のバージョンでは SPAM を隔離するのがデフォルトです article_post_restrictions = isolate_system_special_accounts permit_member_maps isolate 注: reject ではなく isolate となっている。 レシピ’s 自ドメインなら誰でも投稿できる ML &fml4; のように HOOK でグローバル変数をいじくり回すといった危ないことは出来せん。 IO::Adapter の PCRE (Perl互換正規表現)サポートを利用すれば example.co.jp ドメインからの投稿を許し、 それ以外からの投稿を拒否する restrictions が書けます。 [/var/spool/ml/elena/config.cf] article_post_restrictions = reject_system_special_accounts permit_member_maps reject member_maps = pcre:$ml_home_dir/sender.pcre [$ml_home_dir/domains] \S+\@example.co.jp 注: &fml8; 2008/08/17 以降のバージョンでは isolate (SPAM の隔離)が推奨です。 [/var/spool/ml/elena/config.cf] article_post_restrictions = isolate_system_special_accounts permit_member_maps isolate member_maps = pcre:$ml_home_dir/sender.pcre [$ml_home_dir/domains] \S+\@example.co.jp