[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

コマンドメール (fml をメールで操作する)

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

Important: fml の基本的な使い方は CUI (makefml もしくは fml コマンド) を使った操作です。

「makefml を使える」状況とは、 すでにMLサーバのホストのシェルが取れていることを意味します。 つまり SSH (Secure Shell) なりでそのホストに入れる権限がある時点で、 そのサーバの管理者であると認証済みです。 よって、すでに「MLの管理者」として特権的な操作が許される状況といえます。

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

処理の流れ

elena@fml.org MLを例にとりましょう。

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

Warning

fml4 と異なり、fml8 では、 コマンドの結果を一通のメール( MIME/Multipart )にまとめて返送しています。

複数のコマンドの結果すべてを一通のメールに合体しています。 処理の結果も、送り返すべき記事なども一通です。

モジュールについて

fml8 では

メールによるコマンド処理
makefml によるコマンド処理
CGI でのコマンド処理
これらすべての機能が FML::Command:: クラスのモジュールを使うように設計されています。 つまり、ユーザインターフェイスが違う場合でも、 実体は同じモジュールを利用しているため、 動作自体は同じです。

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >