<!--
   $FML: post_permit_anyone.sgml,v 1.10 2008/08/18 02:23:59 fukachan Exp $
-->


<sect1 id="config.post.permitanyone">
	<title>
	ケーススタディ: 誰でも投稿可能なＭＬ
	</title>

<para>
article_post_restrictions 変数は「記事の投稿を許すメンバー」を定義して
います。これを permit_anyone とすると、だれでも投稿可能になります。
<screen>
article_post_restrictions = permit_anyone
</screen>
</para>

<para>
&fml4; と異なり、上のように書くと本当に「誰でも投稿可能」となることに
注意して下さい。
*_restrictions 変数には reject_system_special_accounts という root な
どを弾くルールが別途あります。デフォルトでは、それらを明示的に指定して
います(&fml4; では、このあたり曖昧でした)。
</para>

<para>
&fml4; のように、root などシステムの特別なアカウントは弾き、それ以外の
ユーザからのメールは受け付けるという場合、次のようにします。
<screen>
article_post_restrictions =	reject_system_special_accounts
				permit_anyone
</screen>
注: 以前は reject でしたが、
&fml8; 2008/08/17 以降のバージョンでは isolate (SPAM の隔離)が推奨です。
<screen>
article_post_restrictions =	isolate_system_special_accounts
				permit_anyone
</screen>
</para>

<para>
ちなみに 2008/08/17 以前 の article_post_restrictions のデフォルトは 
&fml4; 互換のため、次のようになっています
<screen>
article_post_restrictions =	reject_system_special_accounts
				permit_member_maps
				reject
</screen>
この意味は
「root  などシステムの特別なアカウントは弾き」
「member_maps にあるユーザであれば投稿を許す」
いづれにもマッチしないなら「投稿を拒否する」
となります。
</para>

<para>
なお「reject_なになに」および「permit_なになに」という命令は、マッチし
たところで処理が終りになります。マッチしない場合には次の条件を試します。
</para>

<para>
2008/08/17 以降のバージョンでは SPAM を隔離するのがデフォルトです
<screen>
article_post_restrictions =	isolate_system_special_accounts
				permit_member_maps
				isolate
</screen>
注: reject ではなく isolate となっている。
</para>


<sect2 id="recipes.config.post.permitanyone">
	<title>
	レシピ’s
	</title>

<qandaset>

<qandaentry>

<question>
<para>
自ドメインなら誰でも投稿できる ML
</para>
</question>

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

<para>
IO::Adapter の pcre サポートを利用すれば example.co.jp ドメインからの
投稿を許し、それ以外からの投稿を拒否する restrictions が書けます。
<screen>
[/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
</screen>
</para>

<para>
注: &fml8; 2008/08/17 以降のバージョンでは isolate (SPAM の隔離)が推奨です。
<screen>
[/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
</screen>

</para>

</answer>

</qandaentry>

</qandaset>

</sect2>


</sect1>
