実際には、
例えば、その複数の e-mail addresses をまとめて yamato@yl05hp.tb.noda.sut.ac.jp としたとします。その時、 メーリング・リストに対して何らかの操作を行わせるには、文の先頭を#で始め、そのような操作を依頼するコマ ンドをその次に入れたメールをyamato-ctl@yl05hp.tb.noda.sut.ac.jp 宛に送信します。つまり、名前に -ctl を付け足した宛名に送ります。以下に、そのようなコマンドのリストを挙げます。
# helpと#helpを同一視します。またCase Insensitiveです。つまり # help = # Help =…= # HELP。 [] はオプショナルを意味しています
# help コマンドのヘルプ
# objective メーリング・リストの目的、約束事を読む
# guide (非)メンバが案内を得る
# msg 管理者へメールを送る
# members メンバのリストを得る
# actives アクティブなメンバのリストを得る
# summary [引数] 過去の記事一覧を得る(Summary全体を送る)
引数: 特定の過去をしめすキーワード
例:# summary summary ファイル全体
# summary last:10 最近の10個の記事のサマリー
# summary 100-200 記事100〜200 のサマリーだけをみる
# get ID 過去の記事を得る(ひとつずつ plain text で送り返す)
# send ID 同上
# status 引数
# stat 引数 現在の設定について知らせる(OFFとか)
デフォールト(# stat(us))は自分自身の状態
# exit コマンド終り(Signature あっても大丈夫)
# end コマンド終り
# quit コマンド終り
まとめてget:-)(tar.gz でまとめてある)
# mget 正規表現 送り返されるメールの時間間隔(sec)
# mget 1-10,5みたいなsyntax 送り返されるメールの時間間隔(sec)
例外的に mh的な # mget last:10 も使えます。
last:\d+だけ:-)
e.g.
# mget * 10 基本系だが、次のようなものでは
# mget 1-10 これらのコマンドシンタックスでは自動的に
# mget 1-10,12,15-100 mget2に切替えてサーバが送り返します。
# mget 1,2,10
[補足]
さらにその後に、オプションとして
unpack, ish, 数字(複数になった時に送り返す間隔)
を指定できます
オプションなしは tar+gzip で spool.tar.gz
tgz 同上
rfc934 RFC934 format PLAINTEXT
ish lha + ish
unpack PLAINTEXT(UNIX FROM)
uf PLAINTEXT(UNIX FROM)
gz GZIP(UNIX FROM)
rfc1153 RFC1153 format PLAINTEXT
e.g.
# mget 1-10 unpack PLAINTEXT(UNIX FROM)
# mget 1-10 uf PLAINTEXT(UNIX FROM)
# mget 1-10 gz GZIP(UNIX FROM)
# mget 1-10 mp MIME/Multipart
# mget 1-10 rfc934 RFC934 format
# mget 1-10 rfc1153 RFC1153 format
# mget 1-10 ish lha + ish
# skip From:のアドレス をそこから投稿はできるが、配送
はされないものと設定する
# noskip 上の逆。配送するようにする。
# off MLを一時的に離脱する
# on 一時的離脱をやめてMLに再参加する
# bye MLをやめる
# unsubscribe MLをやめる
特殊目的:
まんがいち複数マッチをしてしまっても サーバは自動的にアドレス
チェックの精度をあげてトライをするのでたぶん必要ないとおもます
が↓
# addr aoi@chan.panic
複数の配送先を持つ人はOFFコマンド等で
サーバの設定によっては複数マッチしてしまう
e.g. aoi@chan.panic と aoi@hayakawa.chan.panic
も両方マッチしてしまう時、
今は aoi@chan.panic についてのコマンドを行ないたい時
に使うと、このコマンド以降の他のコマンドを
aoi@chan.panic に対してのみ行なうようにする
−−−−−−−−−−−−−−−−−−−−−−−−
どうやって過去のメールを取り寄せるかを説明します。
取り寄せ方:
%を以下shellのpromptとします。
==========例==========
#以下では mail と書きますが(昔は /usr/ucb/mailのことのつもりだった…)
#Mail (SUN)か, mailx (SVR3/4)コマンドだとおもってください。
#4.4BSD なら /usr/bin/Mail or /usr/bin/mail のことですね
1番めのメールが欲しい
% echo "# get 1" | mail MLのアドレス
% echo "#get 1" | mail MLのアドレス
100番め〜200番めのメールが欲しい
% echo "# mget 100-200" | mail MLのアドレス
100番め〜200番めのメールが欲しいが複数のメールになって送り返さ
れる時に30秒に一通づつ送って欲しい
% echo "# mget 100-200 30" | mail MLのアドレス
100番め〜200番めのメールをPLAIN TEXTで欲しい
% echo "# mget 100-200 unpack" | mail MLのアドレス
100番め〜200番めのメールをlha + ishで欲しい
% echo "# mget 100-200 ish" | mail MLのアドレス
100番め〜200番めのメールをPLAIN TEXTで欲しい(30秒間隔で)
% echo "# mget 100-200 30 unpack" | mail MLのアドレス
?でマッチするファイル、つまり1〜9番めのメール
% echo "# mget ?" | mail MLのアドレス
*でマッチするファイル、つまりMLのメール全部
% echo "# mget *" | mail MLのアドレス
==========説明==========
1.
X-Mail-Count:1のメール“だけ”を取り寄せたい
要注意!
『必ず宛名に -ctl をつけた宛名に送ること』
#もしもとの宛名に出した場合はそのまま配送されます。
間違いのないよう、このように
% echo "# get 1" | mail MLのアドレス
とすることをお勧めします。
もし1〜3のメールなら
% cat > foo
# get 1
# get 2
# get 3
^D
% cat foo
# get 1
# get 2
# get 3
% cat foo | mail MLのアドレス
とすると
1、2、3ばらばらにメールが返ってきます。
問題はこうするとそれぞれについてsendmailが起動します。
#これくらいならどうでもいいんですがまちがえて1〜100までこのやりか
たで取り寄せようとするとこちらのマシンの大変な負荷になります。
そこで
2.
X-Mail-Count:1〜9を取り寄せたい
% echo "# mget ? 30" | mail MLのアドレス
つまりftpのコマンドと(ほぼ)同じです。正規表現を用いて下さい。
今の場合?は任意の一文字だからスプールの中の?に対応する
1〜9までのファイルがマッチします。
*なら全メールだし、??なら10〜99までです。
そして第4番目はあってもなくてもよいのですが、メールは1000行を目安
に切ってバラバラに送られるので、送り返されてくるメールとメールの時間間
隔を指定してください。ここでは30なので30秒間隔で送り返します。
#主にこのパラメータはuucpのポーリング時間あたり2、3通になるよう
に各ユーザがコマンドを指示したいようなケースで使うべきです。
#IPであなたのマシンが一辺にたくさんメールがきても受けとる自信がある
ならあまり関係ないです。
ちなみにデフォールトは5分です。
これらのファイルはtarでまとめられgzipされuuencodeされて
送り返されます。
1000行を越える場合は複数のメールに分けますので
自分でつなげて(^^;)たとえばbarというファイルにしたとします。
#uumerge.plなども便利ですね。
% uudecode bar
% ls
spool.tar.Z
% zcat spool.tar.Z | tar xf -
% ls
spool.tar.Z spool
% ls -l
rw-r--r-- .......................... spool.tar.Z
drwxr-xr-x .......................... spool
という具合にspoolディレクトリというのが出来ます。
これの中に取り寄せたメールがしまわれています。
山登研ホームページ