ここでは、majordomoを利用したメーリングリストの作成と運用について解説します。 majordomoを使うことで、サブジェクトに特定の文字列を追加したり、返信先を指定したりできます。
majordomoで動作するメーリングリストを作ります。 今回はtestmlという名前のメーリングリストを作るとして解説します。
メールを配送するリストを作成します、最初は自分のメールアドレスだけ書いておけばいいでしょう。
なお、リストは小文字で登録するべきです。大文字のアドレス(ここではTESTML@domain.name)でも配送されます。
unix# su majordom unix# cd /usr/local/majordomo/lists/ unix# vi testml |
rootなどで作業していた場合は、リストのオーナーを変更する必要があります。
unix# chown majordom.env testml |
MLの説明(testml.info)と登録者に送られる説明メールの内容(testml.intro)を作る。 (別になくてもかまいません)
unix# vi testml.info unix# vi testml.intro |
aliasesに、メーリングリスト用の設定を追加します。 なお、newaliasesコマンドを使わないと変更が反映されませんので注意してください。
unix# vi /etc/aliases unix# newaliases |
aliasesの修正点は以下の個所です。 ownerには、管理者のメールアドレスを書いて下さい。
# Mailing List (testml) testml:"|/usr/local/majordomo/wrapper resend -l testml testml-list" testml-list::include:/usr/local/majordomo/lists/testml testml-request:owner-testml testml-owner:owner-testml owner-testml:joe |
testmlあてにメールを出してみます。そのメールが自分に返ってくればとりあえずOKです。
メーリングリストの運用方法に合わせて、設定を変更します。 testmlの設定を変更する場合の例です。
最初にメールを出したとき、/usr/local/majordomo/lists/下に、testml.configが作成されているはずですので、それを修正します。
unix# cd /usr/local/majordomo/lists/ unix# vi testml.config |
以下に、configファイルの設定例を示します。
reply_to = testml@ash.jp Reply-To: address というheaderを付けます。 subject_prefix = [testml] サブジェクトに、指定の文字列を追加する処理です。 restrict_post = ファイル名 そのMLへメールを出すことができるアドレスを指定します。 ファイルに書かれたアドレスからしかpostができなくなります。 ここへML本体を指定すると、参加者しかメールを出せません。 maxlength = byte数 MLに流せるmailの大きさを設定します。defaultは40000。 |
メーリングリストに連番をつける方法です。majordomoに付属しているsequencerというプログラムを利用します。 少し設定が複雑になります。
testml.seqというファイルを作り、1とだけ書いておきます。 このファイルを編集すれば、数値を初期化することも可能です。
unix# cd /usr/local/majordomo/lists/ unix# vi testml.seq |
rootなどで作業していた場合は、ファイルのオーナーを変更する必要があります。
unix# chown majordom.env testml.seq |
連番をsubjectに記入するようにconfigファイルを設定します。
unix# vi testml.config |
以下が、configファイルの修正点です。 [testml 1]というかたちで連番がつきます。
subject_prefix = [testml:$SEQNUM] |
sequencerを使うように、aliasesの設定を変更します。 なお、newaliasesコマンドを使わないと変更が反映されませんので注意してください。
unix# vi /etc/aliases unix# newaliases |
aliasesの修正点は以下の個所です。
testml:"|/usr/local/majordomo/wrapper resend -l testml testml-list" この行を、下記のように書き換えます。 testml:"|/usr/local/majordomo/wrapper sequencer -l testml -n -h ash.jp testml-list" |