実際には、
例えば、その複数の 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ディレクトリというのが出来ます。 これの中に取り寄せたメールがしまわれています。