3

Procmail で ripmime を使用して、電子メールの内容をファイルに抽出しています。電子メール本文 (テキスト) を抽出するとき、ripmime はファイルに対して構成された procmail UMASK (022) を正しく使用しますが、添付ファイルがある場合、077 umask を使用して添付ファイル用のファイルを作成します。「testTrades2.csv」が添付された 1 つのメールに対して ripmime が作成したファイルの例を次に示します。

-rw-r--r--  1 fsdevprod   fsdevprod     2341 2012-06-07 06:36 textfile4
-rw-r--r--  1 fsdevprod   fsdevprod       19 2012-06-07 06:36 textfile3
-rw-r--r--  1 fsdevprod   fsdevprod      294 2012-06-07 06:36 textfile2
-rw-r--r--  1 fsdevprod   fsdevprod      573 2012-06-07 06:36 textfile1
-rw-r--r--  1 fsdevprod   fsdevprod        0 2012-06-07 06:36 textfile0
-rw-------  1 fsdevprod   fsdevprod       66 2012-06-07 06:36 testTrades2.csv

procmail rc ファイルで ripmime を呼び出す方法は次のとおりです。

| ripmime -i - -d /tmp

"testTrades2.csv" が textfile* ファイルとは異なる権限を持っているのはなぜですか? 同じ UMASK を使用する方法はありますか?

ripmime v1.4.0.9 を使用しています。

ありがとう、デビッド

4

2 に答える 2

4

ripmimeソース (mime.c) には、次のようなものがたくさんありました。

open(fullpath, O_WRONLY|O_CREAT, S_IRUSR|S_IWUSR);

そのため、ハードコードされていました。私はそれらを次のように変更しました:

open(fullpath, O_WRONLY|O_CREAT, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);

そして再コンパイル。これで、ファイルがグループとして作成され、一般に読み取り可能になります。ハードコーディングされているため、理想的なソリューションではありませんが、私にとってはうまくいきます。

理想的には、コマンド ラインで設定できるようにするのが難しくないはずです。そして、それを ripmime メンテナに送信します。

于 2012-08-15T13:34:53.933 に答える
0
:0:
* ^From.*xxx@xxx.ru

{

:0 c:
| ripmime -i - --no-nameless -d $MAILDIR/xxx

:0:
| chmod 777 $MAILDIR/xxx/*

}
于 2012-07-05T17:12:16.630 に答える