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