ケーススタディ: 誰でも投稿可能なML

article_post_restrictions は記事の投稿を許すメンバーを定義しています。 これを permit_anyone とすると、だれでも投稿可能になります。

article_post_restrictions = permit_anyone

fml4 と異なり、上のように書くと本当に「誰でも投稿可能」であることに 注意して下さい。 reject_system_special_accounts という root などを弾くルールが別途あります。

fml4 のように、rootなどシステムの特別なアカウントは弾き、それ以外の ユーザからのメールは受け付けるという場合、次のようにします。

article_post_restrictions =	reject_system_special_accounts
				permit_anyone

ちなみに article_post_restrictions のデフォルトは fml4 互換のため、 次のようになっています。

article_post_restrictions =	reject_system_special_accounts
				permit_member_maps
				reject
この意味は 「root などシステムの特別なアカウントは弾き」 「member_maps にあるユーザであれば投稿を許す」 いづれにもマッチしないなら「投稿を拒否する」 となります。

なお「rejectなになに」および「 permitなになに」という命令はマッチした ところで処理が終りに、マッチしない場合は次の条件を試すことになっていま す。

レシピ’s

1. 自ドメインなら誰でも投稿できる ML

1. 自ドメインなら誰でも投稿できる ML

fml4 のように HOOK でグローバル変数をいじくり回すといった 危ないことは出来せん。

IO::Adapter の pcre サポートを利用すれば 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

fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml8/.
fml 4.0 project homepage is www.fml.org/fml/menu.ja.html.
about one floppy bsd routers, see www.bsdrouter.org/.
other free softwares are found at www.fml.org/software/.

author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.

For questions about FML, e-mail <fml-bugs@fml.org>.