|
次のページ
前のページ
目次へ
2. majordomo と distributemajordomo は CML(現鹿島 ML)等の ML 管理ソフトの一種です。distribute も ML 管理ソフトの一種ですが,最近では majordomo の機能拡張ソフトとして majordomo と一緒に使われることが多いようです。ここでも,majordomo を ML 管理ソフトとして扱い,distribute で機能拡張を行うことにします。
2.1 majordomo のインストール(1) majordomo の user id と group id を決めます。ここでは,user を
majordomo(7797) に,group を daemon(2) にすることにします。
(2) majordomo をインストールするディレクトリを決めます。ここでは,
(3)
W_HOME = /home/mail/majordomo W_USER = 7797 W_GROUP = 2 (4)
$whereami = "relay.ec.tmit.ac.jp"; $digest_work_dir = "/home/mail/majordomo/spool"; (5) 以下のコマンドを実行します。
2.2 distributeのインストール(1) (2) 詳しくは (3) 必要に応じて
DEFAULTCONFIG=\ -DDEF_DOMAINNAME=\"relay.ec.tmit.ac.jp\" \ -DDEF_ALIAS_CHAR_OPTION=\"b\" \ -DDEF_SEQ_PATH=\"/home/mail/distribute\" \ -DDEF_RECIPIENT_PATH=\"/home/mail/distribute\" \ -DDEF_MAJORDOMO_RECIPIENT_PATH=\"/home/mail/majordomo/lists\" \ -DDEF_ARCHIVE_PATH=\"/home/mail/distribute/archive\" WHERE= /home/mail/distribute/bin (4)
#ifdef linux #include <bsd/bsd.h> #endif (5) 以下のコマンドを実行します。
(6)
local4.info /usr/adm/distribute.log
2.3 majordomo と distribute の基本設定(1) majordomo と distribute のための alias を設定します。qmail ですか
ら,alias の設定は
-- ~alias/.qmail-majordomo -- |condredirect postmaster /usr/bin/egrep -i (折り返し) '^(From|Sender|Reply-To):.*(majordomo|listproc|listserv|(折り返し) postmaster|postmstr|admin|root|pmdf|mailer|-request)@' |/home/mail/majordomo/wrapper majordomo -- ~alias/.qmail-majordomo-owner -- -- ~alias/.qmail-owner-majordomo -- ---- (2)
2.4 新しい ML の作成詳しくは (1) 新しい ML のための alias を設定します。以下に設定例を示します。
-- ~alias/.qmail-owner-practice -- &koyama@ec.tmit.ac.jp -- ~alias/.qmail-practice-approval -- &koyama@ec.tmit.ac.jp -- ~alias/.qmail-practice-request -- | /home/mail/majordomo/wrapper majordomo -l practice -- ~alias/.qmail-practice-digest-request -- | /home/mail/majordomo/wrapper majordomo -l practice-digest -- ~alias/.qmail-practice -- | /home/mail/distribute/bin/distribute -j -R -B A -P bulk (折り返し) -M practice -x practice-outgoing -- ~alias/.qmail-practice-outgoing -- | /home/mail/majordomo/wrapper digest -r -C (折り返し) -l practice-digest practice-digest-outgoing | /home/mail/distribute/bin/archive -M practice ---- 以下のリンクを作成します。
(2) 新しい ML のための設定ファイルとディレクトリを作成します。以下に例
を示します。
(3)
すべて正しく行われていれば, (4) lists コマンドを実行すると, (5) ダイジェスト版MLのために,
0 0,10,14,18 * * * /home/mail/majordomo/mkdigest >/dev/null 2>&1
(echo To: majordomo@relay.ec.tmit.ac.jp; echo mkdigest practice-digest PASSWORD) | /var/qmail/bin/qmail-inject これは 0 時と 10 時と 14 時と 18 時にダイジェスト版を作成するという指
示です。最後に,この
これで終わりです。
2.5 distribute から sequencer への移行(1) 以下のコマンドを実行します。
(2)
-- ~alias/.qmail-practice -- | /home/mail/majordomo/wrapper sequencer -l practice -N (折り返し) -h relay.ec.tmit.ac.jp practice-outgoing -- ~alias/.qmail-practice-outgoing -- &practice-outgoing-list | /home/mail/majordomo/wrapper digest -r -C (折り返し) -l practice-digest practice-digest-outgoing ---- (3)
# listsコマンドで,このMLを非表示にする。 noadvertise << END /.*/ END # メールヘッダーのreceived行を削除する。 purge_received = yes # Reply-To:行を設定する。 reply_to = practice # 投稿者を制限する(投稿を許可するファイル名を指定)。 restrict_post = practice:practice-digest:practice.aliases # Subject行の変更を指示する。 subject_prefix = [Practice $SEQNUM] (4) 必要であれば, (5)
$index_command = "sed -e 's/.* [[]/[/g' INDEX | /bin/nkf -m";
(6)
*** Tools/sequencer Tue Mar 18 11:54:02 1997 --- sequencer Wed Mar 19 23:41:09 1997 *************** *** 153,158 **** --- 153,168 ---- &abort("sequencer: Can't open /tmp/sequencer.$$.in: $!"); while (<STDIN>) { + # modified by nob@makioka.y-min.or.jp 961130 + # to delete [****] or (****) from Subject: + # update by hiro@dp.fcs.ts.fujitsu.co.jp 970202 + # to delete Re: [****] or Re: (****) + # RE: [****] or RE: (****) from Subject: + if (/^Subject:/) { + s/R[eE].*\: [\(\[].*[\]\)]/Re\:/g; + s/R[eE].*\:.*R[eE].*\:/Re\:/g; + } + # print IN $_; } *************** *** 196,202 **** } } $subject = $foo . "Message for " . $opt_l; ! print OUT $subject, "\n"; } print OUT "Sender: $sender\n"; --- 206,214 ---- } } $subject = $foo . "Message for " . $opt_l; ! # modified by hiro@dp.fcs.ts.fujitsu.co.jp 970202 ! # no Subject Mail addon Subject: ! print OUT "Subject: $subject\n"; } print OUT "Sender: $sender\n";
次のページ 前のページ 目次へ |
[ |