TAKAHASHI Tamotsu
ttaka****@lapis*****
2005年 9月 14日 (水) 19:02:04 JST
* Tue Sep 13 2005 山口 輝一 <r-kam****@ryose*****> > 今までは mutt+fetchmail+procmail+sendmail で構成しようと > 思っており > ましたが,とりあえず受信に関しては fetchmail をはぶき mutt > +procmail > としました. 私は procmail を使ったことがないのですが、 Mutt の POP 機能 (fetch-mail) によって受信したメッセージを procmail に渡すことはできないのではないかと思います。 procmail を使いたいのであれば メールサーバ上で使うか fetchmail と組み合わせるかするのが 普通の使い方だと思っていました。 > mutt にてメールを受信すると一旦 spoolファイルに溜まるので > しょうか? はい。 > また,mutt -y にてmboxに移動して受信した場合は移動先 > のmboxにメールが > 溜まるのでしょうか? いいえ。 > 私の場合は > > set mbox_type=Maildir > set spoolfile="/var/mail/spool" > set folder="~/Maildir" > > と muttrc に設定してあります. > この場合 > > % mutt > > でオプションなしで起動した場合はショートカット"G"で受信し > たメールが > /var/mail/spool に溜まり > > % mutt -y > > で起動して~/Maildir/mboxへ移動後に"G"で受信したメー > ルは~/Maildir/mbox > に溜まるのでしょうか? Mutt の fetch-mail 機能 (G) は常に $spoolfile へ受信します。 (マニュアルの 4.11 あたり、「POP3 サポート」の項を参照。) > また,spoolファイルは一般的にはどのように使われるのでしょ > うか? > オプションなしで起動した場合に set spoolfile で指定した > ファイルが表示されて > 受信したメールが表示されますが,"q"で終了させると/home/ > user/Maildir/mbox > に既読メッセージを移動するか?と表示されるところを見ると,一旦 > spoolに > 受信してそれぞれのmboxへ移動するという使い方のような気がし > ますが... おおむね、それで合っています。 ($mbox に移動するかどうかは $move で設定できますが。) 実は Mutt において fetch-mail (G) は異端でありまして、 本来「受信は Mutt の仕事ではない」ということになっております。 以下は、長い割にどうでもいいことなので、読まなくても大丈夫です。 Mutt に関してもともと想定されている使い方というのは、 ┃1. sendmail がメッセージを受信する。(たとえば /var/mail/tamo に) ┃ ┃2. 同じホストで Mutt を起動する。既にメールは /var/mail/tamoに ┃ 置いてあるので、fetch-mail (G) は必要ない。 ┃ set spoolfile=/var/mail/tamo と設定しておけば良いだけ。 ┃ すぐ読める。 ┃ ┃3. 読み終わったらホームディレクトリのどこかにメッセージを移動する。 という感じなのだと思います。 しかしサーバ上でメールを読む人ばかりではありませんから、 $spoolfile を NFS や IMAP の場所にすることもあります。 (一応、POP サーバを指定することもできます。) これは 2 の部分を置換しているわけですね。 それでも不満な POP ユーザは、2 ではなく 1 を取り替えます。 ┃1.1. リモートの SMTP サーバがメッセージを受信する。 ┃1.2. 自ホストからは fetchmail を起動する。 ┃1.3. リモートの POP サーバがメッセージを fetchmail に渡す。 ┃1.4. fetchmail がメッセージをローカルファイルシステム上に置く。 ┃ たとえば /var/mail/spool に。 ┃ ┃2. Mutt を起動する。既にメールは /var/mail/spool にあるので、 ┃ Mutt で fetch-mail (G) 機能を使う必要はない。 この仕組みすら面倒だという人は ┃1. リモートの SMTP サーバがメッセージを受信する。 ┃ ┃2.1. Mutt を起動する。読むメッセージがローカルにない。 ┃2.2. Mutt の fetch-mail を実行する。 ┃2.3.リモートの POP サーバがメッセージを Mutt に渡す。 ┃2.4. Mutt がメッセージを $spoolfile に置く。 ┃2.5. やっと読める。 という使い方をします。 これだと「メールを読もう」と思って Mutt を起動してから 実際に読めるようになるまで手間がかかるので、不便ですね。 cron で fetchmail を実行するか、$spoolfile に POP を 指定するのが私の個人的なオススメです。 -- tamo