qmail について(数学教室向け)

あなたが Mac や Windows しか使わないのなら、気にしなくていいです。 (変更しました。) ですが、少しでも Unix を使うのなら重要です。 何故なら, これはメイルに関することだからです. 必ず読んでください. 分からないことは Q&A や qmail の web page にないことならば問い合わせてください.
注: pop でのみメールを読んでいる人はいずれ一括処理されるでしょう.

注: 説明は古い .bashrc 等では機能しないことが あるかも知れません. /usr/local/Setup/user に 最新の rc file があります. .bashrc, .bash_profile, .env, .shrc, .alias 等を コピーして使ってみてください. 但し, 元のファイルのバックアップを忘れずに.

[0] qmail 概説 /Maildir とは?
[1] Maildir を利用するには
  Q&A: Mailbox と Maildir の変換をしたい
  Q&A: POP と Unix と両方でメイルを読みたい
[2] Maildir に対応したメイラー
 2-1: mutt(0.79e-jp)
  Q&A: Mutt で alias がききません.
 2-2: Mew-1.9x
 2-3: RMAIL(not recommended)
  Q&A: MUA はわかりました. biff はどうするの?
[3] .qmail (dot-qmai) の書き方
[4] Mailing List の作り方


[0] qmail 概説

当教室では MTA (Mail Transfer Agent)として sendmail にかわり qmail が導入されました. これにともない、 mail spool は 各自のホームディレクトリに おかれるようになりました. さらに安全な Maildir 形式 (今まで出したり受け取ったりしたはずのメイルがない などといったことがありませんでしたか?) によって Mail Lost (メイルの紛失)からあなたを守ります. また、.forward という file は無効になり、 かわりに .qmail という file を利用します.

ただし、互換性のため、default では Mbox 形式で 各自のホームディレクトリの Mailbox というファイルに 保存されています. Maildir を使うための 設定や Maildir に対応した MUA, .qmail の書き方 などについて説明します. あなたのホームディレクトリを /home/user と 仮定します. それぞれ各自のホームディレクトリに 読み替えてください. また, % は コマンドプロンプトです.

注: もし, あなたが Unix を使いこなせていないと思うのなら UNIX 初心者のための Unix guideを読んでみてください。 ファイルの編集がわからない(Mule の使い方が 分からない)方やコマンドプロンプトって何? という方は必須です.

注: いずれはシステム全体が Maildir に移っていくでしょう. あるとき, 突然 Mailbox には配慮しない日がくるかもしれません. そのときまでにゆっくり移行していきましょう. (Mailbox は Maildir から変換してあとで手動で作れます. (cf. Q&A 参照) だから, とりあえず Maildir にしても損はないのです.)


[1] Maildir を利用するには:

まず, Maildir 形式の ディレクトリ名を決めます. すでに存在するディレクトリ (Mail など)を Maildir 形式のディレクトリとして使うこともできます. (ただし, その下に new, tmp, cur のどれかの directory が存在する場合は注意が必要).

1-1: 新たにディレクトリを作成する場合(ディレクトリ名=Mail)

% /var/qmail/bin/maildirmake Mail
とします.

1-2: すでに存在するディレクトリ Mail を Maildir 形式の mail box として利用する場合

% mkdir Mail/new
% mkdir Mail/tmp
% mkdir Mail/cur
% chmod 700 Mail/new Mail/tmp Mail/cur
注: Mail の下に new, tmp, cur のいずれかが存在する場合は 当然 mkdir は必要ありません. chmod は必ず行ってください. mode が 700 でないと qmail はメイルの配送を危険と判断して 中止します. それは, あなたのホームディレクトリが 775 や 777 になっていた場合も同じです.

次に ~/.qmail を設定します. もし, .qmail が存在しないなら

/home/user/Mail/
と一行だけ書いて .qmail の名前で保存します. /home/user は当然自分のホームディレクトリーに置き換えてください. 自分のホームディレクトリーは
% echo $HOME
で見ることが出来ます.

注: 最後の '/' を忘れずにつけてください. これが qmail に Maildir 形式であることを伝えます.

すでに .qmail が存在して

/home/user/Mailbox
のようになっているなら, これを書き換えます. (書き換える前に chmod +t ~/ , 書き換えたあとに chmod -t ~/ をして下さい. chmod +t ~/ で配送は一時停止します. )

注: .forward があるとき、これを .qmail に mv(rename) してはいけません。 詳しくは .qmail の書き方を参照してください。


Q. いままでの Mailbox を Maildir 形式にしたいのですが. また, Maildir 形式を Mailbox にしたいのですが.

A. Mailbox を Maildir 形式に変換するには /usr/local/bin/mbox2maildir を使ってください. その際 Mailbox が ~/Mailbox でないならば, 環境変数 MAILBOX を設定し, Maildir 形式のディレクトリが ~/Mail~/Maildir でないならば, 環境変数 MAILDIR を設定してから実行してください. MAILDIR が設定されていないときは ~/Mail/new が存在していれば ~/Mail を採用し, そうでなければ, ~/Maildirを採用します. また, Mailbox は削除されませんので安心してください. 終了したら, 実際に Maildir/new の 中身を確認し, .qmail が今変換した Maildir に 配送するような内容になっていることを確認してから, Mailbox を削除してください.
また, 逆もできます. maildir2mbox です. 環境変数 MAILDIR, MAILTMP 等の設定が必要です. とりあえず, Maildir にして, UCB Mail などで読むために Mailbox を作るときなどに利用できます.


Q. pop でも読むし, unix にも入って mail を 読むのですが.

A. 現在 pop は Mailbox から mail を読むという 苦渋の選択になっています. 近い将来 Maildir 形式から mail を読む qmail-pop3d に移行します. 両方使うのであれば取り合えず .qmail に

/home/user/Mailbox
/home/user/Maildir/
と書くと良いでしょう. この Mailbox という名前を変えると pop で読むことは 当然できなくなります.


[2] Maildir に対応したメイラー

メイラ─とはメイルを読み書きするためのソフトです. Mac なら Eudora, Windows なら Eudora, Becky, 電信八号 などがあります. これらは pop を使います. (のはず) だとすると [1] の Q&A ですでに答は出ています. ここでは Unix ユーザ向けに 解説します.

2-1: mutt(jp)

mutt の 日本語の説明を読んでください. また, ~/.muttrc (設定ファイルの書き方)等を含む マニュアル も参照してください. 注意すべき点は mutt は環境変数 MAIL を見てしまうことです. したがって, 次のような alias を作るといいでしょう. ~/.bashrc~/.[t]cshrc

% alias mutt='/usr/local/bin/mutt -f ~/Maildir'
と設定すれば良いのです. また .muttrc
set jmsg
と書けば日本語のヘルプが見れます. ヘルプが非常に 充実しているのでもうこれ以上言うことはありません.


Q. mutt で mail address の alias を有効にするには どうすればいいですか?

A. .mailrc から alias の部分を 切り取って ~/.aliases というファイルにセーブしてください. そして mutt を 立ち上げ直してください.


2-2: Mew-1.9x on Mule (IM-65 以降)

もしあなたが RMAIL の漢字コードのトラブルに 巻き込まれたくないなら Mew を 使いましょう. もし, まだ mew-1.80 以降を 使っていないのであれば

% imsetup
で im(Internet Message) の設定がされます. すでに mew を使っている人も含め Maildir を使うには ~/.im/Config に以下を追加してください。
Imget.Src=local:${HOME}/Maildir
Mew そのものの設定については mew-1.9xの設定 を見て各自の .emacs に merge すればいいでしょう. /usr/local/Setup/user/elisp/mewcust.elも 参照されたい. mew-1.70 までを使っていた人は mew-auto-folder-alistmew-refile-guess-alist に変っています. 形式も変っていますので, 注意しましょう.

注: mew-1.70 は当教室ではすでに support されていません.


2-3: RMAIL

RMAIL を一応使えるように movemail に wrapper を かぶせて対応しました。 管理者としては RMAIL は全くお勧めできません。 それは、qmail の問題以前に文字コードの問題による RMAIL ファイル全体のトラブルが頻繁に発生し、 管理者を煩わせるからです。意地でも使いたいのなら 文字コード問題では問い合わせに応じてもらえないことを 覚悟の上で、以下の設定をして下さい。ただし、 完全に Maildir に移行したあとで行ってください。

.emacs に

(setq rmail-movemail-program "/usr/local/bin/movemaildir")
を加えて mule を立ち上げ直してください。


Q. メイラーは確かに十分かも知れません. でも, biff は どうするのでしょうか? xbiff が動きません.

A. 現在 Maildir に対応した xbiff のようなものはありません. (http://www.fiction.net/blong/programs/ に xbuffy, gbuffy という Maildir 対応の biff ができました。 Mutt の日本語のページを書いておられるきくたにさんから 教えていただきました。) また、次のようなトリックでこれを解決することができます. ~/.qmail

/home/user/Maildir/
|/usr/local/bin/kusm-qbiff
として下さい. メイルが到着すると Maildir の下に配送されると とともに あなたのホームディレクトリの下に .mailcheck というファイルができます. これには From: と Subject: が 切り取っていれてあります. xfaces ならば, ~/.Xresources
XFaces*spoolFile: /home/user/.mailcheck
と書けば良いでしょう. FvwmTaskBar ならば .fvwm95rc などに( fvwm2.0.46 を使っているのなら .fvwm2rc です.)
*FvwmTaskBarMailBox /home/user/.mailcheck
と書けば良いのです. また, xbiff /usr/local/X11R6.3/bin/xbiff については 環境変数 MAIL を見るようになっているので .xinitrc 等で
env MAIL=/home/user/.mailcheck xbiff
とすれば動きます. なお, Mail を読んだら kusm-mcheckd が自動的に .mailcheck を size 0 にしてくれます. yositomi まで mail して下さい. list に加えます.

注意:kusm-mcheckd を各人が行う方法は廃止しました。


[3] .qmail (dot-qmail) の書き方

これについては qmail の日本語の home page に 説明 が載っています. 基本的には .forward と同じようなものですが,

"|/usr/local/lib/mh/slocal -user user || exit 75"
のようなものは " "(ダブルクォテーション) があると動作しません. エラーコードも sendmail とは異なります。 また, (自分のところに配送するという意味で)
\user
user@kusm.kyoto-u.ac.jp
のような書き方もしてはいけません.
/home/user/Maildir/
等としてください.

例えば .forward が

another@another.domain.or.jp
\user
ならば、これを
another@another.domain.or.jp
/home/user/Mail/
のように修正して下さい. そして,
% mv .forward .qmail
とすれば良いでしょう. user 自身の address を書くことは 無限ループとなり, qmail はそれを検知して 配送を中止します. また, 「dot-qmail の安全な編集方法 」も必ず目を通してください. 繰り返しますが, 作業後の chmod -t $HOME を忘れずに !!!


[4] ML の運用

qmail とは直接関係ありませんが dot-qmail の拡張機能を 使って ML を運用することができます. 詳細は qmail-command qlist をご覧下さい. また, fml-2.1 を使っても ML (メイリングリスト)を 運用することが出来ます. 個人だけの設定でも 出来ますがあまりスマートなやり方 ではないので 管理者まで問い合わせてください.


最後に:

qmail についてもっと良く知りたいという人は 日本語マニュアル を読むことを勧めます. qmail のすばらしさをよく知って戴くために qmail の日本語のホームページ は是非訪れてみてください.


yositomi@kusm.kyoto-u.ac.jp
qmail の頁に戻る