[Postfixbuch-users] doppelte Mails ???
lexa
lexa at acpweb.de
Mo Nov 27 17:47:02 CET 2006
> Andreas Winkelmann schrieb:
> >
> > ... Vermutlich speicherst Du sie da mehrmals.
> >
> Wenn dem so ist, dann lasse ich mich sehr! gern korrigieren. Hier ist
> mein noch nicht
> sehr optimiertes Testscript (Bin noch Sieve Anfänger):
>
> require "fileinto";
>
> if address :matches ["from","to","cc"] "*suse.*"
> {
> fileinto "suse";
> }
> elsif address :matches ["from","to","cc"] "*kde.org*"
> {
> fileinto "kde";
> }
> [...]
OT ;-)
ich weiss nicht, mir gefallen diese vielen "elsif" nicht. Geschmacks-
sache? Ist jedenfalls schwer lesbar und dadurch fehlerträchtig.
Ausserdem fehlen "stop" und "keep" Anweisung(en), die die Lesbarkeit
und Performance verbessern.
Meine sieve Scripte sind nach folgendem Schema aufgebaut, nur als
Anregung:
-------------------------------
# in sich geschlossenes "if", man erkennt genau wo's aufhört, vor
# allem, wenn man viele Match-Zeilen hat:
if header :contains "from"
[
"@mysql.com",
"infocenter at borland.com"
]
{
fileinto "pub.Newsletter";
stop;
}
# alle weiteren ...
if anyof
(
header :regex "To"
[
"spamtrap\@(.*)"
],
header :regex "Subject"
[
"^\\*\\*\\*SPAM\\(+(.*)", #beginnt mit "***SPAM("
"(^Re:.+news|^Re:.+your|new$|^re$)"
]
)
{
discard; # Mail löschen
stop;
}
# die letzte Anweisung
else { keep; }
-------------------------------
"stop" weist Sieve an, an dieser Stelle aufzuhören. Ansonsten macht
er weiter im Code, was aber überflüssig ist, weil die erwünschte
Aktion bereits erledigt ist.
PS: Die ultimative Sieve-Doku habe ich aber leider auch noch nicht
gefunden.
Gruss - Axel
elsif address :matches ["from","to","cc"] "*@gnome*.org*"
> {
> fileinto "gnome";
> }
> elsif address :matches ["sender","to"] "*postfixbuch-users*"
> {
> fileinto "postfix";
> }
> elsif address :matches ["sender","to"] "*blfs*@linuxfromscratch.org*"
> {
> if address :matches ["sender","to"] "*blfs-book*"
> {
> fileinto "blfs.book";
> }
> elsif address :matches ["sender","to"] "*blfs-dev*"
> {
> fileinto "blfs.dev";
> }
> elsif address :matches ["sender","to"] "*blfs-support*"
> {
> fileinto "blfs.support";
> }
> else
> {
> fileinto "blfs";
> }
> }
> elsif address :matches ["sender","to"] "*lfs*@linuxfromscratch.org*"
> {
> if address :matches ["sender","to"] "*lfs-announce*"
> {
> fileinto "lfs.announce";
> }
> elsif address :matches ["sender","to"] "*lfs-book*"
> {
> fileinto "lfs.book";
> }
> elsif address :matches ["sender","to"] "*lfs-dev*"
> {
> fileinto "lfs.dev";
> }
> elsif address :matches ["sender","to"] "*lfs-support*"
> {
> fileinto "lfs.support";
> }
> else
> {
> fileinto "lfs";
> }
> }
> elsif address :matches "from" "*@nulltarif.de"
> {
> fileinto "nulltarif";
> }
> elsif address :matches "from" ["*handy.de",
> "newsletter at mail.idgcom.de"]
> {
> fileinto "news";
> }
> elsif address :matches "from" "*cinestar.de"
> {
> fileinto "kino";
> }
> elsif address :matches "from" ["*winload.de*",
> "*@listsrv.idginteractive.de*"]
> {
> fileinto "computer";
> }
> elsif address :matches ["from", "to"] ["*lyris*@mailliste.de*",
> "*devolo-news*@mailliste.de*"]
> {
> fileinto "developer";
> }
>
> Mfg Thomas.
>
> --
> _______________________________________________
> Postfixbuch-users mailingliste
> Heinlein Professional Linux Support GmbH
>
> Postfixbuch-users at listi.jpberlin.de
> http://listi.jpberlin.de/mailman/listinfo/postfixbuch-users
>
>
Mehr Informationen über die Mailingliste Postfixbuch-users