<!--
	$FML: command.sgml,v 1.7 2003/04/15 14:51:46 fukachan Exp $
-->

<sect1 id="fml.command.bymail">
	<title>
	コマンドメール (fml をメールで操作する)
	</title>

<para>
fml にメールで文字列(コマンド)を送り込むことで、fml に特定の処理をして
もらうことができます。例えば、メンバーの登録、削除や、過去の記事を取り
寄せるなどの処理が代表例です。
</para>

<important>
<para>
fml の基本的な使い方は makefml を使った操作です。
</para>

<para>
makefml を使えるということは、ＭＬサーバのホストのシェルが取れている、
つまり SSH なりでそのホストに入る際にＭＬの管理者であると認証されてい
るわけです。よって、特権的な操作といえます。
</para>

<para>
一方、コマンドメールなどで一般ユーザに提供する機能は制限するべきです。
実際、ユーザに提供されているコマンド操作は makefml で可能な操作のごく
一部です。つまり、コマンドメールとは makefml のコマンドの一部を使えな
くし、適宜 confirmation を付け加えたコマンド体系といってよいでしょう。
</para>
</important>


<sect2 id="fml.command.bymail.flow">
	<title>
	処理の流れ
	</title>

<para>
elena ＭＬの場合、
コマンドメールを elena-ctl@fml.org に送信してください。
メールは MTA が受け、最終的に MTA は
/usr/local/libexec/fml/command
というプログラムを実行します。
command はメールを標準入力から受けとり、
ＭＬとして必要な処理をした後、MTA へ配送を委ねます。
</para>

<warning>
<para>
&fml4; と違い、&fmldevel; ではコマンドの結果を
<link linkend="message.reply">
一通のメール ( MIME/Multipart )にまとめて返送
</link>
しています。
</para>
</warning>

</sect2>


<sect2>
	<title>
	モジュールについて
	</title>

<para>
&fmldevel;  では
<screen>
メールによるコマンド処理
makefml によるコマンド処理
CGI でのコマンド処理
</screen>
これらすべての機能が FML::Command:: クラスのモジュールを使うように
設計されています。
</para>

</sect2>

</sect1>


