2000-01-11(火) [長年日記]
■ fetchmail
さて、今日はメールを受信しよう。この日のために、FreeMailに実験用のアカウントを用意しておいたわけよ。今日の教科書はここ。昨日はbindのバージョンが違って痛い目にあったけど、今日は(たぶん)大丈夫(笑)。用意したアカウントは++++++++@mizar.freemail.ne.jpなので、設定ファイルである.fetchmailrc
は以下のようになる。*******はパスワード。マルチユーザで使うなら書くべきじゃないだろうけど、このマシンはおれ専用なので問題ないだろう。
defaults protocol pop3 user ++++++++ poll mizar.freemail.ne.jp pass ********
■ このファイルを$HOME
に置いて、/usr/bin/fetchmail
を実行するだけ。
$ fetchmail File /home/sho/.fetchmailrc must have no more than -rwx--x--- (0710) permissions.
■ おぉぅ。怒られてしまった。セキュリティ対策ですな。
$ chmod 0710 .fetchmailrc $ fetchmail 1 message for ++++++++ at mizar.freemail.ne.jp (1090 octets). reading message 1 of 1 (1090 octets) . flushed
■ 試しにNetscape Mailで読みだしてみる。よし、ちゃんと届いてるぞ、と。あとはいつも使ってる設定を.fetchmailrc
に書き加えるだけで、Linuxで受信できるって寸法だ。まぁ、それはもう少しあとだけど(だってまだメール出せないからね)。
教科書のsendmailのところを読んでいたら、daemonとしてではなく、inetd
経由でsendmail
を動かす方法が書いてあった。ふむ。これはいいかも知んない。このサイトはslackwareをネタにしているので、Kondaraには合わないところもあるけど、なんとかなりそうなので、ついでに挑戦しておこう。まず、sendmail
をdaemonとして起動させない方法は、linuxconf
を使えばいい。/etc/inetd.conf
の編集はまったく同じ。sendmail
を殺して、inetd
にHUPを送るのも同じでいい。ただし、Kondaraを使っている場合は/var/run
にあるファイルを使ってプロセスIDを得た方がカッコイイ(笑)。SMTPポートへtelnetしての動作確認、fetchmail
によるメール受信も成功したので、大丈夫でしょう。あとはメールの送信か。あぁ、sendmail.cf
。やりたくねぇなぁ、これだけは。
それはまぁ、明日にしようと思って、メーラをうだうだいじっていたら、重大なことに気がついた。フォルダが階層的に作れないのだ。例えばメーリングリストのメールを分類しようと思って、ML
というフォルダを作る。その下に例えばruby
というフォルダを掘ろうとすると、「すでにML
というファイルがあるよ〜ん」という(意味の)メッセージが出る。そりゃそうだ。IMAPの「フォルダ」はそのフォルダに入っているメールをすべて集めた単一のファイルなので、その下にフォルダを掘ろうとしたらML/ruby
というファイルを作らないといけない。でも、ML
というファイルはすでにあるから、同じ名前のディレクトリなんて掘れるわけがないのだ。はて、これはいったいどうすればいいのじゃ? 試しにML
というファイル(フォルダ)は削除して、新規にML/ruby
というフォルダを作ってみた。つまり最初から階層構造を意識した指定をしたわけ。そしたらできた。でもさぁ、これだとML
にはメールを整理できないんだよね。それに、あとから階層を深くしたいと思った時もダメ。なんだこの仕様。ダメじゃん。時おり見かけるMH
形式ってヤツを試してみろってことかな。ふむん。ちょっと調べてみよう。