飛田です。 ;; なんとなくそちらの状況わかって来たかも.. >>>>> In [vine-users : No.059026] >>>>> "matsui" <matsui888@xxxxxxxxxxx> wrote: > matsuiです。返事が遅くリまして誠に申し訳有りませんでした。 > KIKUCHI Junichiさんは[vine-users:058904]で書きました。 > >> MHは1ファイルにメールを纏める形式で、maildirはメール1つ1つファイルにする > 方法 > >> ですね(既述済み)。 > > MH 形式も1メール1ファイルです。 > > そういう点では Maildir 形式と同じです(1メール1ファイルと言う点で)。 > スイマセン。そのようでした。 > MH形式…mewで使用される形式 mew だけではありません。MH 自体が MUA の機能を持った物ですし、nmh や mh-e 等は、今でも利用者がいるはず。また、Sylpheed など様々な MUA がこ の形式を扱えます。man mh あるいは man nmh とかってありませんか? cf. http://www.chem.eng.himeji-tech.ac.jp/~hayashi/internet/mh_guide.html http://www.ics.uci.edu/~mh/book/overall/howwor.htm ;; MH って Mail Handler の略だって記憶があるのですが、違いましたっけ.. で、~/Mail/hoge/1 みたいな整数の番号を付けて、1メール1ファイルで扱いま す。 > maildir形式…qmailで使用され形式 > なのですね。 maildir は qmail と供に提唱されメジャーな形式になったのですが、現在、 maildir で配送出来るのは、正確に言うと qmail だけではないのです。 postfix でも maildir へ配送出来ますし、もちろん procmail も出来ます。 受信側(popd や imapd)でも、多くはないですが、幾つかの選択肢があります。 で、こいつは、その思想(というかコンセプト)から、メールを MH のように単 純な番号ではなく、time.pid.host のような長いファイル名(先のメールのリ ンク参照)を付けて、1メール1ファイルで保存します。で、メールを失わない ようにする為、tmp new cur という 3つのディレクトリを慎重かつ複雑に使い ます。 > Shinichiro HIDAさんは[vine-users:058905]で書きました。 > >> これは/var/spool/mail/user01にメールが届いたからですよね。 > > で、自動的に、なんか何ってるのですよね? その仕掛けを調べてみると面白い > > かも、と言ったつもりだったのですが。 > すいません。ちょっと分かりませんでした。 > procmailでは振分けに失敗した場合に/var/spool/mail/user01にそのメールを配送す > るような仕様になっているのではないでしょうか? > ~/Maildir/.procmail.logや/var/log/maillogにもそれらしきログは無いようです。 procmail は、.procmailrc で記述されたルールを上から順にマッチするか試 して、最後にどれにもマッチしないと、抜けます。なので、一番最後にデフォ ルトの(ルールにマッチしないメールの)配送先を記述し、全てのメールをフォ ローしてから抜けるようにします。 例えば、私の場合は、 # if it got to this point, put it in my new mail folder :0 Hw inbox/. exit こんな感じで、私は、~/Mail/inbox へ MH 形式で配送させています。 もし、maildir でやるなら、適当な(そちらの inbox 相当の)ディレクトリの 最後に / を付ける(最後に"." はつけてはいけない)ようになると思います。 ;; このあたり、私は maildir は良く知らないので、ご自分で調べて下さい。 想像でしかないですが、これがちゃんと指定されて無い(あるいは効いてない) んじゃありませんか? あるいは、どこかで /var/spool/mail/hoge へ配送され るように指定しているとか、指定しているけど、そこがディレクトリが無いと か、パーミッション等なんらかの不都合がある、とか.. それで、procmail を 抜けて、/var/spool/mail/hoge とかへ配送されるのでは.. ;; procmail の ログは、VERBOSE=yes で取ってますよね? このあたりは、読みづらいかもしれませんが、procmail, procmailrc, procmailsc, procmailex あたりの man (あれば jman) をじっくり読んで、自 分の使おうとしている .procmailrc を繰り返し眺めてみるしかないと思います。 http://www.procmail.org/ からたどれるリンクも参照すると良いかもしれま せん。(英語ですが) > > man login.defs あたり。 > このマニュアルは無いの事でした。 ;; あぁ、じゃ man login (Vine だと jman login ?) かな? > >> え! 逆流ってPOPサーバに戻っちゃうんですか? > > いえ、ML -> 誰かの spool -> 誰かが設定に失敗したfetchmail -> ML -> ルー > > プ.. みたいな.. > MLってメールサーバの事ですかね? MailingList のつもりでした。 > > man procmail は読まれましたか? > > -d recipient ... [...] > 取り敢えずは。。。 > 「-d recipint > これは明示的なデリバリモードになり、デリバリはローカルユーザ受取人になりま > す。 > これは勿論、もしprocmailがroot権限をもっているなら(或いはprocmailが既に受取 > 人のeuidとegidで走っているならば)可能と言うだけです。 [...] > という事ですよね(よく意味が分かりませんが)。 fetchmail や procmail をシステム全体の基幹として使う場合と、一般ユーザ の権限で使う場合には、扱いが大きく異なります。で、一般ユーザ権限で間に 合う場合は、-d は使う必要はないと思いますが。 root 権限で動かす(あるいはシステムワイドに使う)のには、危険度が上がり ますので、もっと慎重に(よく理解した上で)使った方が良いと思います。 ;; もっとも -d には他の利用法もありそうですが。 > >>> そこを ls -l した結果とかは? > >> ~/.fetchmailrcや~/.procmailrcは > >> -rw------- user01 user01 > >> となっています。 > > なぜ、その後を省略されるのか分かりませんが、 > その後とはメールボックスの中ですかね。 > $ls -al [...] > drwx------ 5 user01 user01 4096 Feb 19 17:22 .vine-users/ > -rw-r--r-- 1 user01 user01 46 Nov 24 18:08 courierimapsubscribed > -rw-r--r-- 1 user01 user01 3290 Mar 16 14:25 courierimapuiddb > drwx------ 2 user01 user01 172032 Mar 16 14:25 cur/ > drwx------ 2 user01 user01 143360 Mar 18 03:30 new/ > drwx------ 2 user01 user01 4096 Mar 18 03:30 tmp/ ひょっとして courier-imapd 使ってますか? > $ls -al > drwx------ 2 user01 user01 172032 Mar 18 03:49 ./ > drwx------ 24 user01 user01 4096 Mar 18 03:49 ../ > -rw------- 1 user01 user01 36193 Feb 28 00:22 1046359353.2327.host1.dyndsn.net:2,S > -rw------- 1 user01 user01 3693 Feb 28 00:22 1046359368.2333.host1.dyndsn.net:2,S > -rw------- 1 user01 user01 36899 Feb 28 00:23 1046359386.2337.host1.dyndsn.net:2, > -rw------- 1 user01 user01 43530 Feb 28 00:23 1046359394.2342.host1.dyndsn.net:2, > -rw------- 1 user01 user01 87072 Feb 28 00:23 1046359418.2346.host1.dyndsn.net:2,S > -rw------- 1 user01 user01 891 Mar 14 00:30 1047569400.2349.host1.dyndsn.net:2, > -rw------- 1 user01 user01 869 Mar 15 02:30 1047663000.5418.host1.dyndsn.net:2, > -rw------- 1 user01 user01 3203 Mar 16 20:47 1:2,S > -rw------- 1 user01 user01 3853 Mar 15 22:47 2:2, > -rw------- 1 user01 user01 4450 Mar 13 23:53 2:2,S > -rw------- 1 user01 user01 3292 Mar 16 14:23 3:2, > $ > となりました。(dyndsn.netはダイナミックDNSで取得したドメイン名です) > > 配送されたメールのファイル > > 名はどうなってますか? ~/.procmailrc で 指定する配送先が hoge/. と > > hoge/ では結果が異なる筈なので。 > 「hoge/.」とした場合、hoge@xxxxxxxxxxxxxxxxxxx宛てメールは上記のように > 「2:2,S」や「2:2,」とかいうファイル名になるようです。 > 「hoge/」賭した場合には/var/spool/mail/user01ファイルに入るみたいです。 なぜ :2,S とか付いてるのかは、誰か(courier-imapd?)が maildir で扱おう とした為ではないかと思うのですが、これ (1:2,S とか)、多分 MH で配送さ れてますね。 配送された直後は、1 とかの単純な整数だったのではないかと想像します。 104756900.2349.host1.dyndsn.net:2,S とかの長ったらしい方は、maildir 形 式で配送されたっぽいです。すくなくとも、MH ではこういうファイル名は扱 いません。maildir の場合、"time.pid.host" な形式となるはずです。 ;; maildir での配送は、昔、テストした程度なので、はっきり断言出来なく ;; て申し訳ないですが。 > > で、先のメールで最後に示したリンクは参照して頂けました? > はい、「.ML.sylpheed/」という風に「.」は必要ないのですね。 そうです。それと、先のメールでは、 [...] >> やはり、/home/user01/Maildir/下ディレクトリに落としたい場合には >> :0 >> * ^X-Ml-Name: hospital >> .PC-Hospital/new/. >> にしとかないといけないのではないですかね。 と書かれていて、.PC-Hospital/new/. とか指定されてた 様ですが、new tmp cur は、内部で使う物で、これらを指定するとお かしな事になると思います。指定するのは、それら(new とか)の上位のディレ クトリ(この例の場合 .PC-Hospital/)です。 > Shinichiro HIDAさんは[vine-users:058908]で書きました。 > > これももちろん参照して欲しいのですが、なかなか信じて貰えないようなので、 > > 追加してポインタを示してみます。慌てずにゆっくり読んでみて下さい。 > > http://man.qmail.jp/jman5/maildir.html > > 解くに "メイルが配られる様子" の所。 > > あと、 > > http://www.kusm.kyoto-u.ac.jp/~yositomi/computer/qmail/qmail_guide.html > > も、良くまとまっていて詳しいので、参考になるかと思います。 > ありがとうございます。これでchmod -tやchmod +tコマンドって何なのですかね。(t > オプションってmanにも載ってないんですね) http://www.linux.or.jp/JM/html/gnumaniak/man1/chmod.1.html 手元(Debian sid)で man chmod すると、↑が出ます。 で、 文 字 `rwxXstugo' は影響を与えるユーザーに対する新しいアク セス権を選択する: 読取り (r)、 [...] あたりから下、"sticky bit" に注意して読んでみて下さい。 あと、google とかでも "sticky bit" とかで検索してみると良いでしょう。 > 兎に角、fetchamil+procmailで振分けを行なう場合には「.」はつけてはいけないの > ですね。 なんだか、ここだけ読むと誤解を与えそうなので、補足します。 procmail を使って maildir 形式で配送する場合は、配送先のディレクトリ指 定で、.hoge/ の "/" の後に "." は付けてはいけない。最後は "/" (例: .hoge/)で終る。 "/" に続けて "." を付ける(例: .hoge/.)と、procmail は MH 形式で配送する。 maildir 形式と MH 形式は、"1メール1ファイルで扱う" という部分は共通し ているが、まったくの別物である。 あたりが良いのではないかと思います。 -- Shinichiro HIDA mailto:shinichiro@xxxxxxxxxxxxx GPG fingerprint = 5F2D 1656 FFF6 F691 A51C 5E61 E416 D398 470C 1CE9