Moin,
* David Haller
(O = Option, D = define variable etc.). Das meine ich. Bei postfix muß nichts erklärt werden. Ach? Nur weil das 'foo = bar' ne ueblichere Syntax als 'D{foo} bar' ist? Ja.
Ja. Natuerlich. Fuer die Aussagekraeftigen Namen sind aber die m4 Makros zustaendig, das steht dann z.B.
define(`confDOMAIN_NAME',`foo.tld')dnl
Ist das "aussagekraeftig" genug? Ja? Gut. Wozu ist das 'dnl' gut? (Ne, ich will's nicht wirklich wissen.)
Und diese zweistufige System _hat_ Vorteile, die sendmail.cf ist naemlich, bei aller Komplexitaet einfach zu parsen. Wieviel Taktzyklen spart man denn damit pro Bootvorgang?
[procmail]
Und die Syntax ist ebenfalls kinderleicht. Warum mußt Du sie dann erklären? Habe ich schon Maildropsyntax erklärt? (Wobei klar ist, daß man die Manpage lesen muß, um etwa das Pendent zu Procmails ^TO_ zu finden.) Nein, hast du nicht, aber _mir_ musst du beide nicht erklaeren. Schon klar, darum geht's auch nicht.
Ich musste genauso mal lernen, was ein if ist, und wie man Muster in perl definiert, aber da ich inzwischen perl ein wenig kann, musst du mir's nicht erklaeren. Und zu procmail hab ich 'man procmailrc' einmal kurz ueberflogen. Und das hat auch schon gereicht. Ja, man kann es verstehen. Nein, Du bist kein typischer User.
Mehere Bedingungen sind UND verknuepft. Bei Maildrop sind sie UND-verknüpft, wenn da && steht. Macht irgendwie mehr Sinn, als ein Nullmorphem, oder? Nur ne Frage der Syntaxdefinition. In Perl (und maildrop) ist die Definition eben '&&', in der procmailrc schlicht eine weitere Zeile mit '*'... Die Syntax kann einfach oder umständlich definiert sein.
Und? ist das soo viel schwerer als (und das noch ohne flags!) Allerdings. Nicht weil es unmöglich ist, es zu verstehen, sondern weil man sich bei Maildrop nicht mit sinnlosen Kürzeln wie ':0' herumschlagen muß. Wieso sinnloses Kuerzel? Hae? Dann ist aber 'sub' in perl genauso sinnlos. (ja, ich mag perl! ;) 'subroutine', das dürfte klar sein.
Und was sollen eigentlich die // bei ner Bedingung? (Wo ist der Unterschied?) So markiert man Regexen.
Wichtiger noch: Die Struktur einer Regel ist unmittelbar erkennbar und nicht von der Plazierung abhängig. Die Plazierung ist in maildrop genauso wichtig. Oder funktioniert:
{ if } <Aktion> /foo/
Nein. Eben. Nur sind die Regeln _fuer_ die Platzierung ein wenig anders. Was ich meine: Bei Procmail funktioniert :0 * ^TO_whatever mail/whatever nicht, bei Maildrop funktioniert if (/whatever/) {to mail/whatever} sehr gut.
:0 H * auchImHeader :0 AB * im Body <Aktion> Das ist also ein UND, weil es keine Aktion gibt und die nächste Bedingung ein 'A' enthält. Klar, genauso leicht verständlich wie '&&'.
Aber AFAIK koennte man auch irgendwas aequivalentes hinbekommen, das lohnt aber IMO nicht ;) Es geht nicht darum, ob es sich lohnt.
Maildrop Procmail file lock flock n/a dotlock dotlock :
Procmail kann dotlock. S.o. die Syntax. Wie, verstehst Du das etwa nicht? Ich habe doch geschreiben, wie Procmail ein dotlock erstellt! Ah, da hab ich deinen Tabelleneintrag falsch gelesen ;) Klar, schieb's mal auf NEdit.
if( ... ) { if ( ... ) { [..] } }
Oder wenn du willst, eben auch per && verknuepft... Allerdings will ich das, davon rede ich ja die ganze Zeit.
:0 * ^X-Mailing-List:.*foo@bar.tld mailing-liste-foo
Fuer solche Regeln ist perl/maildrop schlicht overkill. Ist ja voll der Overkill: if (/^X-Mailing-List:.*foo@bar.tld/) { to mailing-liste-foo }
Hm. Wuerd's dir was ausmachen, mir mal deine Regeln fuer maildrop mailen? Wuerde mich echt mal interessieren, was du da so alles machst :) Ich benutze Mail::Audit. Und das unterfordere ich gnadenlos, interessant ist das also nicht.
Der einzige Nachteil ist die Geschwindigkeit. Und der ist bei vielen Mails doch deutlich. Klar, den Luxus gönne ich mir eben. Als Default empfehle ich darum auch Maildrop. Mach ich andersrum ;) Als Default Mail::Audit, für die schwierigen Sachen Maildrop? Na also, geht doch!
maildrop (bzw. dessen perl-syntax) ist eher schwieriger, besonders, wenn man nicht perl kann... Für mich ist das nicht Perlsyntax, sondern C-C++-Perl-Java-Ruby-Was- weiß-ich-noch-alles-Syntax.
Thorsten -- Try not to be a man of success but rather of value. - Albert Einstein