我们正在使用ripmime与Procmail将电子邮件内容提取到文件中。当提取电子邮件正文(文本)时,ripmime正确地使用配置的procmail UMASK(022)作为文件,但是当有附件时,它会使用077 umask为附件创建文件。以下是ripmime为一封带有“testTrades2.csv”附件的电子邮件创建的文件示例:
-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。
感谢, 大卫
答案 0 :(得分:2)
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维护者。
答案 1 :(得分:-1)
:0:
* ^From.*xxx@xxx.ru
{
:0 c:
| ripmime -i - --no-nameless -d $MAILDIR/xxx
:0:
| chmod 777 $MAILDIR/xxx/*
}