Denny Schierz schrieb:

hi,

wie könnte man es schaffen, ausgehende Mails von Postfix in öffentliche
Cyrus Ordner einzusortieren?

alle gesendeten Mails für [EMAIL PROTECTED] -> pub/foo/sent
alle gesendeten Mails für [EMAIL PROTECTED] -> pub/bla/sent
alle gesendeten Mails für [EMAIL PROTECTED] -> pub/blubb/sent

Wohlgemerkt, gesendet Mails, nicht empfangene.

eine Idee wäre über den bcc von Postfix an einen virtuellen User, um die
Mails dann dort per sieve zu verteilen, aber das ist eigentlich murks.

cu denny



Amavis bietet eine Option um e-Mails beliebig zu verarbeiten.
Man brauch nur ein wenig Perl-Kenntnisse.
Dann kann man mit allen ein und ausgehenden Mails machen was man will.
Ich habe sowas für amavisd-new (amavisd-new-20030616-p9) laufen.
Such mal in der Perl-Datei amavisd oder amavisd-new nach
%local_delivery_aliases = (

Und schau Dir mal den Abschnitt
'user-quarantine'
an.

Dann muss man noch für diesen Bereich die "#" entfernen.
#       $which_section = "special_quarantine";
#       do_quarantine($conn, $msginfo, Amavis::Out::EditHeader->new,
#                     ['user-quarantine'], 'local:user-%i-%n'
#           )  if lookup($msginfo->sender, ['[EMAIL PROTECTED]','[EMAIL 
PROTECTED]']);


Bei neueren amavisd-new (amavisd-new-2.2.0) Versionen läuft das alles ähnlich ab, es nennt sich aber wohl sender-quarantine.
Es gibt dort auch einen Bereich in dem man die local_delivery_aliases definiert:
%Amavis::Conf::local_delivery_aliases = (


Und man muss folgenden Bereich weiter betrachten:
   $which_section = "snooping_quarantine";
#   do_quarantine($conn, $msginfo, Amavis::Out::EditHeader->new,
#                 ['sender-quarantine'], 'local:user-%i-%n'
#     ) if lookup(0,$msginfo->sender, ['[EMAIL PROTECTED]','[EMAIL 
PROTECTED]']);
#   do_quarantine($conn, $msginfo, Amavis::Out::EditHeader->new,
#     ['incoming-quarantine'], 'local:all-%i-%n');
#   do_quarantine($conn, $msginfo, Amavis::Out::EditHeader->new,
#     ['[EMAIL PROTECTED]'],   'local:all-%i-%n');
#   section_time($which_section);


Ich hoffe das hilft.

Grüsse
Tobi

PS:
Bei mir sieht das dann für user-quarantine wie folgt aus:
 'user-quarantine'  =>                 # just an example
       sub { my($s) = $MSGINFO->sender;
             $s =~ s/[EMAIL PROTECTED]/-/; $s =~ s/\@/=/;
             ( $QUARANTINEDIR."/../mailbackup",
               sprintf("user-%s-%s-%05d.gz",  # suggested file name
                       $s, strftime("%Y%m%d-%H%M%S",localtime), $$) )
           },

Aber wie gesagt, da kann man mit ein paar Zeilen Perl einiges anstellen.

----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an