以下は,epnetfan-ml に流れたメール(一部抜粋).
Delivered-To: mailing list epnetfan_ml To: epnetfan-ml Subject: Re: inttech semi 7/2 From: HAYASHI Yoshi-Yuki Date: Tue, 06 Jul 1999 09:17:21 +0900 林です サーバー管理側として必要な ML は ・サーバーアカウント持っている人全員へのメールが送れるリスト ・IP 登録関係者(管理者)全員へのメールが送れるリスト の 2 つでしょう. |
これを作る.それぞれの ML の名前は accountholder, hostmanager とする.
登録するアドレスは grey 上のもののみとし,gate-system から受け渡してもらう.
メーリングリストからの登録削除・登録アドレスの変更には応じない.
$ sudo -u alias -s alias@:$ cd ~alias/ alias@:$ ezmlm-make -gsu ~alias/accountholder ~alias/.qmail-accountholder accountholder silver.ep.sci.hokudai.ac.jp alias@:$ ezmlm-make -gsu ~alias/hostmanager ~alias/.qmail-hostmanager hostmanager silver.ep.sci.hokudai.ac.jp
ezmlm-make のマニュアルは, http://mlm.qmail.jp/idx/ezmlm-make.htmlにある.
-s オプションによって,ユーザによるメーリングリストへの自動登録が審査されるが,
審査員に誰も登録されていないと審査を受けられずに全て却下される.
なお,-P オプションを使うと自動登録・退会のほかに
アーカイブ取りだしなども不許可になってしまうため,このようにする.
~alias/{accountholder,hostmanager}/text/ 以下には, ezmlm-manage がユーザーに対して送るメッセージが置かれている. らしいのだが,2023/09/21実行時,~alias/{accountholder,hostmanager}/text/ 以下には何もなかったため,メッセージファイルの編集は行っていない.
そのうち自動登録・抹消・受け取りアドレス変更に関する部分を削除しておく. ユーザにこれらの機能が有効であるとの誤解を与えないためである.
修正するファイルは
alias@:$ cp ~alias/accountholder/text/bottom ~alias/accountholder/text/bottom.bak alias@:$ vim ~alias/accountholder/text/bottom alias@:$ cp ~alias/hostmanager/text/bottom ~alias/hostmanager/text/bottom.bak alias@:$ vim ~alias/hostmanager/text/bottom
~alias/accountholder/text/bottom (~alias/hostmanager/text/bottom) の中身 (サンプル)
--- mailing list <#l#> で利用可能な command 一覧です --- ezmlm は以下の command を自動で実行します。 [[[ 絶対に mailing list 本体に command を送らないで下さい ]]] command は以下の address 宛に空の message を送ることで実行されます。 [[[ 絶対に mailing list 本体に command を送らないで下さい ]]] command は以下の address 宛に空の message を送ることで実行されます。 * 利用可能な command 一覧を取り出す <accountholder-help@ep.sci.hokudai.ac.jp> (Get help and commands) <購読の開始, 中止に関する記述を削除> 以上の指示に従っても、望んだ結果にならない場合等は、 mailing list accountholder の主宰者の accountholder-owner@ep.sci.hokudai.ac.jp 迄連絡して下さい。 (返事が遅れるかもしれません。ご了承下さい) 問題の解析を進めやすくする為に ezmlm から送られてきた message を 『全ての header を含めて』添付してください。 --- 以下に送られてきた message を添付しておきます --- |
alias@:$ cp ~alias/accountholder/text/help ~alias/accountholder/text/help.bak alias@:$ vim ~alias/accountholder/text/help alias@:$ cp ~alias/hostmanager/text/help ~alias/hostmanager/text/help.bak alias@:$ vim ~alias/hostmanager/text/help
~alias/accountholder/text/help の中身 (サンプル)
これは汎用の help message です。 貴方の message は ezmlm の command としては認識されませんでした。 以下に利用可能な command address 以下の通りです: (空 message を指定された command address に送信することで実行されます) * mailing list <#l#> の説明を取り出します。 <accountholder-info@ep.sci.hokudai.ac.jp> (Get information) * mailing list <#l#> の『よく尋ねられる質問とその答え』を取り出します。 <accountholder-faq@ep.sci.hokudai.ac.jp> (Get FAQ) * 123 番から 145 番迄の message を取り出す <accountholder-get.123_145@ep.sci.hokudai.ac.jp> (一度に取り出せるのは最大で 100通です) * 123 番から 145 番迄の message の送信者と Subject: を取り出す <accountholder-index.123_456@ep.sci.hokudai.ac.jp> * message 12345 番の Subject: と同じ Subject: を持つ message を 取り出す <accountholder-thread.12345@ep.sci.hokudai.ac.jp> command address 宛ての message は address のみが必要です。中身は 何があっても無視されます。 <受け取りアドレス変更, 購読中止に関する記述を削除> |
alias@:$ cp ~alias/accountholder/text/sub-confirm ~alias/accountholder/text/sub-confirm.bak alias@:$ vim ~alias/accountholder/text/sub-confirm alias@:$ cp ~alias/hostmanager/text/sub-confirm ~alias/hostmanager/text/sub-confirm.bak alias@:$ vim ~alias/hostmanager/text/sub-confirm alias@:$ cp ~alias/accountholder/text/unsub-confirm ~alias/accountholder/text/confirm.bak alias@:$ vim ~alias/accountholder/text/unsub-confirm alias@:$ cp ~alias/hostmanager/text/unsub-confirm ~alias/hostmanager/text/unsub-confirm.bak alias@:$ vim ~alias/hostmanager/text/unsub-confirm
~alias/accountholder/text/sub-confirm と
~alias/accountholder/text/unsub-confirm の中身
(サンプル)
この mailing list <#l#>@ep.sci.hokudai.ac.jp では, 自動登録・削除を受け付けていません. |
メーリングリストへのアドレス登録は, 管理用スクリプトを用いて機械的に行う. 管理用スクリプトは以下の 4 つである.
これらのスクリプトは /usr/local/bin/ に置き, パーミッションは 755 ,
所有者は root とする.
なお, スクリプト作成にあたっては,
http://flex.ee.uec.ac.jp/texi/perl-nyuumon/index.html,
http://flex.ee.uec.ac.jp/texi/perl/perl_toc.html を参考にした.
$ sudo -s # cd /usr/local/bin # wget http://www.ep.sci.hokudai.ac.jp/~epmail/y2015/dvlop/script/list-2-ezmlm-sub # wget http://www.ep.sci.hokudai.ac.jp/~epmail/y2015/dvlop/script/list-2-ezmlm-unsub # wget http://www.ep.sci.hokudai.ac.jp/~epmail/y2015/dvlop/script/all-ezmlm-unsub # chmod 755 list-2-ezmlm-sub list-2-ezmlm-unsub all-ezmlm-unsub
標準入力に与えられたユーザ名リストを,メーリングリストに登録するためのスクリプト. 使い方は以下の通りである.
alias@:$ gate-user-list stable type:person | list-2-ezmlm-sub ~alias/accountholder/ alias@:$ gate-user-list stable type:person | list-2-ezmlm-sub ~alias/hostmanager/ |
ユーザ名をリストしたファイル (listfile) がある場合は
alias$ list-2-ezmlm-sub ~alias/accountholder/ < listfile alias$ list-2-ezmlm-sub ~alias/hostmanager/ < listfile |
のように使用する.gate-user-list は gate-toroku-system のユーザアカウント名
問い合わせコマンド, ~alias/accountholder/ は,
ezmlm-make で作成したメーリングリストのディレクトリである.
listfile の書式は,
とする.このスクリプトは,ユーザ名リストのファイル中の文字列に, @ep.sci.hokudai.ac.jp をつけ加えて,メーリングリストに追加する. ezmlm-sub を呼び出しているが,既に登録されているアドレスを登録しようとしても, ezmlm-sub は何らエラーを出さない.
標準入力に与えられたユーザ名リストを,メーリングリストから削除するためのスクリプト. 使い方は以下の通りである.
alias$ gate-user-list stable type:person | list-2-ezmlm-unsub ~alias/accountholder/ |
ユーザ名をリストしたファイル (listfile) がある場合は
alias$ list-2-ezmlm-unsub ~alias/accountholder/ < listfile |
のように使用する.gate-user-list は gate-toroku-system のユーザアカウント名
問い合わせコマンド, ~alias/accountholder/ は,
ezmlm-make で作成したメーリングリストのディレクトリである.
listfile の書式は list-2-ezmlm-sub で扱うものと同じである.
このスクリプトは,ユーザ名リストのファイル中の文字列に,
@ep.sci.hokudai.ac.jp をつけ加えて,メーリングリストに追加する.
ezmlm-unsub を呼び出しているが,既に登録されていないアドレスを削除しようとしても,
ezmlm-unsub は何らエラーを出さない.
全てのアドレスを,メーリングリストから削除するためのスクリプトである.
alias$ all-ezmlm-unsub ~alias/accountholder/ |
のように使用する.~alias/accountholder/ は, ezmlm-make で作成したメーリングリストのディレクトリである.
ML を定期更新するため, スクリプトを cron で定期的に起動するように設定する.
スクリプトは以下の 2 つで, ともに ~alias/bin/ 以下におく.
パーミッションは 744 で所有者は alias とする.
$ sudo -u alias -s alias@:$ mkdir ~alias/bin/ alias@:$ cd ~alias/bin/ alias@:$ wget http://www.ep.sci.hokudai.ac.jp/~epmail/y2023/dvlop/script/ml_manage.accountholder alias@:$ wget http://www.ep.sci.hokudai.ac.jp/~epmail/y2023/dvlop/script/ml_manage.hostmanager alias@:$ chmod 744 ml_manage.*
accountholder ML と hostmanager ML とで,更新の手順が異なる.
後者では,いったん全てのアドレスを削除した後,必要なアドレスを登録する.
これは,登録抹消ホストの管理者・所有者と
登録承認済みホストの管理者・所有者は重複する可能性があるからである.
一方 accountholder ML の更新においては,
利用停止ユーザと承認済みユーザは重複しない.
alias@:$ crontab -e
以下のように書く. 空行を入れないように注意する.
MAILTO="epmail" 5 2 * * * /var/qmail/alias/bin/ml_manage.accountholder 15 2 * * * /var/qmail/alias/bin/ml_manage.hostmanager |
確認する.
alias@:$ crontab -l
この例では,毎日 02:05 に実行.
alias はメールを受け取らない設定になっているので,MAILTO で受取人を明示する.
最終更新履歴: | 2023/09/21 (髙橋 聖輝) |