2000-01-12(水) [長年日記]
■ Maildir
昨日判明したimapサーバのひどい仕様(?)がどうにも許せないので、メール管理方法を変えようと思い立った。Maildir形式ってヤツだ(昨日MHとか言ってたのは嘘)。この形式はメール1通を1ファイルに、1フォルダを1ディレクトリに対応させる直観的でわかりやすい形式で、メールのロスト等の問題が少ないとされている。ただ、以前WindowsでAL-Mailを使っていたときに似たような管理方式だったんだけど、ファイルの数がやたらと増えるのでディスクを食いまくるのと、ファイルのオープン/クローズはコストがかかるので、検索なんて処理をさせるとmbox形式を使っているメーラに比べて遅かった記憶がある。ただ、いずれメールはNamazuを使って検索対象にしようと思っているので、1メールが1ファイルになっているのは都合がいい。
■ qmail
となると、Maildir形式に対応したMTAを用意する必要がある。この形式の祖と言える(嘘かも)、qmailしかない。さっそくqmail関連のサイトを検索してお勉強。そうだ、IMAPもMaildir形式に対応しているものにしないといけないんだよ。大丈夫かなぁ。ちなみにいずれもKondara製のパッケージのない世界である。Maildirを推奨してるんなら、qmailくらい入れといてくださいよぅ、とほほるさん。しっかしなんか、ずんずん地雷原に足を踏み入れてるような気がするぞ……。まぁ、sendmail.cf
の悪夢から逃れられるならそれだけの価値はあるかも?!(自分に言い聞かせている)
qmailはバイナリ配布を禁じているらしく、一発インストール可能なRPMは見つからない。どうにかqmail-1.03-102memphis.src.rpm
というのを見つけた。ちなみに今日の教科書はここかな。rootになって、
# rpm --rebuild qmail-1.03-102memphis.src.rpm # cd /usr/src/redhat/RPMS # ls qmail-1.03-102memphis.i386.rpm
■ てな感じで、src.rpm
からi386.rpm
が作れる。Kondara的にはi586で作るべきなのかな。まぁ、specファイルの書き方を勉強していずれ作ってみることにしよう。
続いて、同居はできないsendmailのパッケージを消す。
# rpm -e sendmail
■ 続いてqmailをインストール。
# rpm -ivh qmail-1.03-102memphis.i386.rpm qmail ################################################## Your fully qualified host name is spc15.tada. Putting spc15.tada into control/me... Putting spc15.tada into control/defaultdomain... Putting spc15.tada into control/plusdomain... Putting spc15.tada into control/locals... Putting spc15.tada into control/rcpthosts... Now qmail will refuse to accept SMTP messages except to spc15.tada. Make sure to change rcpthosts if you add hosts to locals or virtualdomains!
■ いいのかな? エラーらしきものはないけど。教科書には他にもいろいろ入れているけど、rpmファイルの中身を見たら必要そうには見えなかったので(うちはセキュリティ気にしなくていいから)、あえて入れずにこのまま進む。続いては、inetd
でqmail-smtpd
(SMTPサーバ)が起動されるようにするのだ。/etc/inetd.conf
を開いて、昨日設定したsmtpの所を以下のように変更:
smtp stream tcp nowait qmaild /usr/sbin/tcpd /var/qmail/bin/qmail-smtpd
■ rootじゃなくてqmaildの権限で起動するのがqmailのqmailたる部分なのだろうな。たぶん。ためしにtelnet
でSMTPにアクセスしてみる。
$ telnet spc15 smtp Trying 192.168.0.3... Connected to spc15.tada. Escape character is '^]'. 220 spc15.tada ESMTP quit 221 spc15.tada Connection closed by foreign host.
■ おっけー。さて、さっきの教科書にはなんか他にもいろいろ入れてるんだけど、こんなに必要なのかなぁ。ためしにfetchmail
してみようか。
$ fetchmail 33 messages for ++++++++ at mizar.freemail.ne.jp (98182 octets). reading message 1 of 33 (2336 octets) .fetchmail: can't even send to sho! fetchmail: SMTP transaction error while fetching from mizar.freemail.ne.jp fetchmail: Query status=10
■ ああっ、ダメだ(笑)。きっと一緒に協調して動くべきdaemonが他にいるんだな。うーん、今日はここまで。