tml はメーリングリストツールです。Ruby で実装されています。
# useradd tml # mkdir /usr/local/tml /var/spool/tml # chown tml /usr/local/tml /var/spool/tml # su tml % ruby ./setup.rb % ruby ./test.rb % ruby ./install.rb
/usr/local/tml/tml.conf を変更して tml の動作を変更することがで きます。tml.conf は Ruby スクリプトです。Ruby の文法に従います。
有効なパラメータは以下の通りです。
項目名 | 説明 | デフォルト値 |
---|---|---|
$var_dir | ML情報保持ディレクトリ | "/var/spool/tml" |
$smtp_server | メール配送サーバ | "localhost" |
$smtp_port | メール配送サーバのSMTPポート | "smtp" |
$lock_timeout | ロック獲得を待つ時間(秒) | 300 |
$etc_dir | 共通ファイル保持ディレクトリ | "/var/spool/tml/.etc" |
$auto_aliases | ML作成/破棄時に自動的に $etc_dir/aliases を更新するかどうか | true |
$newaliases | $etc_dir/aliases 更新後に実行するコマンド。 postfix の場合は「postalias aliases」コマンドを記述しておけば良いでしょう | nil |
$default_not_member | 非メンバからの投稿が可能かどうかのデフォルト値 | false |
$default_subject_mlname | サブジェクトにML名を付加するかどうかのデフォルト値 | true |
$default_counter_width | サブジェクトに付加するカウンタの桁数のデフォルト値 | 5 |
$default_remote_command | メールでのコマンドを許可するかどうかのデフォルト値 | false |
$default_member_list | メンバ一覧の取得を許可するかどうかのデフォルト値 | false |
tmladmin を使用して ML の管理を行ないます。
% tmladmin cmd
cmd は次のいずれかです。
コマンド | 説明 |
---|---|
list | MLの一覧を表示します。 |
create mlname admin | MLを作成します。 admin はMLの管理者メールアドレスです。 |
drop mlname | MLを破棄します。 MLのデータ $var_dir/mlname は -mlname-yyyymmddhhmmss にリネームされます。 |
add mlname addr ... | MLにメールアドレスを追加します。 |
bye mlname addr ... | MLからメールアドレスを削除します。 |
addml mlname child ... | MLの下に子MLを追加します。 |
byeml mlname child ... | MLの下から子MLを取り除きます。 |
members mlname | MLのメンバ一覧を出力します。 |
allmembers mlname | MLのメンバ一覧を出力します。子MLがある場合は子MLのメンバも出力します。 |
children mlname | MLの子ML一覧を出力します。 |
parents mlname | MLの親ML一覧を出力します。 |
addadmin mlname addr | MLの管理者アドレスを追加します。 |
byeadmin mlname addr | MLの管理者アドレスを削除します。 |
setattr mlname attr=value ... | MLの属性を設定します。 |
getattr mlname [attr ...] | MLの属性を出力します。属性を指定しない場合は一覧表示します。 |
setcounter mlname number | MLのカウンタを設定します。 |
getcounter mlname | MLの現在のカウンタ値を出力します。 |
setattr,getattr で使用できる属性は次の通りです。
属性名 | 説明 |
---|---|
sender | MLの配信時に使用されるエンベロープ送信者 |
overview | MLの概要 |
subject_mlname | SubjectにML名を付加するか否か |
counter_width | カウンタの桁数 |
remote_command | リモートコマンドが有効か否か |
remote_admin | リモート管理コマンドが有効か否か(*) |
spool | メールをスプールするか否か(*) |
member_list | リモートコマンドでメンバ一覧を出力するか否か |
web_interface | Webインタフェースを使用するか否か(*) |
(*)印は現バージョンでは意味がありません。
MLへの配送は /etc/aliases などに次のようなエントリを作成しておけば良いでしょう。
mlname: "|/usr/local/tml/tml mlname" mlname-admin: :include:/var/spool/tml/mlname/admin mlname-ctl: "|/usr/local/tml/tmlctl mlname"
なお、ML作成/破棄時には $etc_dir/aliases が自動的に更新されるた め、複数の aliases ファイルが参照可能な MTA の場合は、このファイ ルも指定しておくのが良いでしょう。この場合は、$newaliases パラメー タを設定する必要があります。たとえば、Postfix の場合は以下のよう に指定しておけば良いでしょう。
$newaliases = "postalias #{$etc_dir}/aliases"
Last modified: Wed Nov 12 08:00:09 JST 2003