2022年8月、ホームページを全面リニューアルしました! 情報を分かりやすくお伝えできるサイト作りを目指してまいります。

メーリングリストを作ろう!

ここでは、俺のの好きなMTA、qmailを使って簡単に作れるメーリングリストを紹介する。現在のメーリングリスト(以降、MLと表記)は、技術専門のMLから趣味のMLまで多岐に渡ってネット上で運営されている。もじ通り、MLは登録したメールアドレスのユーザに対して、配信されて意見交換をするシステムである。
俺も今回、qmailで簡単に作れるML、ezmlmでMLを作ることにした。以下に、インストール設定までを紹介したい。ここで紹介する環境は、

メールサーバ : ml.hogehoge.com
ユーザ名 : hoge
ML名称 : test-ml

注:あらかじめ言って置くが、qmailがインストール されている環境が前提である。


1.インストール

まず、ezmlm.orgからソースをダウンロードする。
ここ 
で、ezmlm-0.53.tar.gz (既に古いかも知れない)をゲットする。ゲットしたら、コンパイルを行う。

# make
# make man
# make setup

この時の、ezmlm関連ファイルは、/usr/local/bin/ezmlmにインストールされる。


2.実際のMLの作成

ここで、MLを作成するユーザをhogeとし、ホームディレクトリを/home/hogeとする。次のコマンドを入力して、hoge-test-mlを作成してみる。hogeユーザにログインして、以降、hogeユーザ権限で作業を行う。

# su – hoge
$ /usr/local/bin/ezmlm/ezmlm-make ~/test-ml ~/.qmail-test-ml mity-test-ml ml.hogehoge.com

これで、MLの骨格は完成した。簡単である。しかし、この状態では、投稿先が hoge-test-ml@hogehoge.com になってしまう。これでは、目的のtest-ml@hogehoge.comでの投稿は不可能である。そこで、root権限で以下の作業を行う。

uidの確認方法。
# id -u hoge
501

gidの確認方法。
# id -g hoge
504

# cd /var/qmail/users
# vi assign
+test-ml:hoge:528:100:/home/hoge:-:test-ml:
.

/var/qmail/usersディレクトリにassignファイルを作り、上記のような記述を加える。ここで、528はmityのUID、100はhogeのGIDである。UID、GIDは/etc/passwdファイルを参照すること。最後の”.”を忘れないこと!ファイルを作ったあとに、以下を実行して設定を有効にする。

# /var/qmail/bin/qmail-newu

以上で、test-ml@hogehoge.com及びtest-ml-****@hogehoge.comアドレスが使用可能になる。以下にアドレスの種類を記載する。

test-ml@hogehoge.com                ← 一般の投稿受付アドレス
test-ml-owner@hogehoge.com            ← メーリングリストの持ち主のアドレス
test-ml-default@hogehoge.com           ← その他(manager)
test-ml-subscribe@hogehoge.com         ← メンバー自動登録用アドレス
test-ml-unsubscribe@hogehoge.com        ← メンバー自動脱会用アドレス
test-ml-get.123@hogehoge.com           ← 特定のメッセージ取り出し用
test-ml-help@hogehoge.com             ← ezmlmがhelpを送信する
test-ml-request@hogehoge.com           ← ezmlmが説明を送信する

自動登録、脱会の場合は、上記のアドレス宛に送信すればよいのだが、手動登録、手動脱会手続きを行いたい場合はhogeユーザでログインして、

$ /usr/local/bin/ezmlm/ezmlm-sub /home/hoge/test-ml hoge@hogehoge.com

で登録される。脱会の場合は、

$ /usr/local/bin/ezmlm/ezmlm-unsub /home/hoge/test-ml hoge@hogehoge.com

自動登録をやめて非公開MLにしたい場合は、/home/hoge/test-mlディレクトリにあるpublicというファイルが自動登録・脱会関係の制御を行っている。したがって、このファイルを削除すればよい。これで、殆どの作業が終わったが、最後に/home/hoge/test-mlディレクトリにあるファイルを編集する。

$ vi headeradd
Reply-To:test-ml@hogehoge.com

返信先アドレスをtest-ml@hogehoge.comにする。MLのメールに連番をつける。prefixと言うファイルを/home/hoge/test-mlに作り、以下の記述を追加する。

$ vi prefix
[test-ml #]

日本語サブジェクトをJISコードのみ許可する。MIMEだと文字化けを起こす危険性がある。charsetと言うファイルを作り、以下の記述を追加する。

$ vi charset
iso-2022-jp

メッセージサイズを制限する。投稿を認める最大及び最小サイズ。msgsizeと言うファイルを作る。

$ vi msgsize
100000:100

ownerの修正。

$ vi owner
&mity
|/usr/bin/ezmlm-warn ‘/home/hoge/test-ml’ || exit 0

インストールオプションの変更を行う。作成時に指定したオプションの変更を行う事が出来る。-eオプションで変更を行う。

$ /usr/local/bin/ezmlm/ezmlm-make -efglux /home/hoge/test-ml

$ vi headerremove

return-path
return-receipt-to
content-length

不要なヘッダーを削除する(編集する必要はないかも知れない)。以上で、完成である。実際にメールアドレスを登録して、テストしていただきたい。

以上

コメント