Filtermanager: 5 zusammengehörige Filter mit Bedingung ablaufen lassen. Wie?

  • guten tag Ihr lieben
    habe bestimmt so an die 100-150 filter am laufen. die meisten sind einzelne filter, die "keine beziehung" zu den anderen filtern haben.
    aber es gibt "zusammengehörige Filter", die voneinander abhängig sind. Ich will das mal so formulieren... und dazu eine frage stellen, ob man es nicht besser machen kann.

    vorerst:
    ich bekomme für eine aufgabe x-emails, die teile von einem gesamtarchiv enthalten. das gesamtarchiv hat demnach x teile. in je einer email ist eine datei nach dem muster" zyx-datei.a??" enthalten. die dateien haben entweder die endung *.arj, oder *.a01 bis *.a?? [das ist die archivstruktur von arj.exe]

    nun ein konkreter fall:
    absender "meier" sendet mir 5 emails.
    sie haben jeweils das subjekt "zyx-datei.arj" "zyx-datei.a01" "zyx-datei.a02" "zyx-datei.a03" "zyx-datei.a04".
    wenn ich diese dateien per hand auspacke, bekomme ich ausgepackte dateien aus einem kompletten archiv.
    es ist genauestens definiert, wie der absender heisst, wie das subjekt der emails heisst, und was in den emails drin ist [der name der datei steckt im subjekt]

    jeder interessierte kann folgen? ;)

    so! NUN das problem:
    das arj-archiv kann NUR ausgepackt werden, wenn ALLES komplett ist.
    das bedeutet: wenn im obigem beispiel die email von "meier" mit dem subjekt "zyx-datei.a04" vorhanden ist, und natürlich IN der datei auch die datei "zyx-datei.a04" vorhanden ist.
    beim absender "meier" wird das alles automatisiert (wer's wissen will: es wird mit blat.exe gearbeitet ;-), und die 5 emails werden abgeschickt.
    es kommt in 10-20% der fälle aber vor, daß emails verspätet eintrudeln. entweder fehlt/verspätet sich eine aus den ersten 4 emails, oder die letzte -ohne die KEIN auspacken möglich ist- fehlt/verspätet sich.


    frage: wie kann man darauf im filtermanager reagieren?


    bisher habe ich das SO gemacht (für obiges beispiel!) und 5 filter gebaut:
    unter dem namen "zyx-datei.arj" "zyx-datei.a01" "zyx-datei.a02" "zyx-datei.a03" "zyx-datei.a04".

    für filter: "zyx-datei.arj" bis "zyx-datei.a01" "zyx-datei.a02" "zyx-datei.a03" sieht der inhalt so aus:
    absender meier enthält meier@t-online.de
    und dateianlage mit übereinstimmenden muster zyx-datei.a?? ist der nachricht angehängt.
    als filteraktion ist notiert:
    dateianlagen speichern in verzeichnis c:\schmutz\zyx, filern nach zyx-datei.a??
    nachricht in ordner \\t-online\eingang\erledigt verschieben
    [die die DREI restlichen emails analog: "zyx-datei.a01" "zyx-datei.a02" "zyx-datei.a03" ]

    NUR filter: "zyx-datei.a04" sieht etwas anderes aus:
    absender meier enthält meier@t-online.de
    und dateianlage mit übereinstimmenden muster zyx-datei.a?? ist der nachricht angehängt.
    als filteraktion ist notiert:
    dateianlagen speichern in verzeichnis c:\schmutz\zyx, filern nach zyx-datei.a??
    ___das ist anders: es wird eine batch aufgerufen mit %1___
    starte "f:\verarbeite_den_inhalt_der emails.bat zyx"
    nachricht in ordner \\t-online\eingang\erledigt verschieben


    fragen/ideen/ansätze....
    ich will ja, daß der auspackvorgang NUR klappt, wenn die letzte datei/email da ist!
    sollte man pausen (bei windows7 gibt es den externen befehl timeout.exe) einbauen?
    kann man einen filter so absetzen, daß er fragt, gibt es die dateien "zyx-datei.arj" bis "zyx-datei.a01" "zyx-datei.a02" "zyx-datei.a03"?
    wenn ja, mache weiter mit ... oder mache den befehl timeout.exe oder oder?


    versteht jemand, was ich meine? ,-)


    oder ist obige konstruktion schon das "allerhöchste der gefühle"?

    (dumme) frage: gibt es ne doku zu dem gesamten filter-model mit beispielen?
    ja, wohl hier:https://www.ritlabs.com/de/support/faq/40/https://www.ritlabs.com/de/support/faq/40/

    die filter selber kann man wohl nicht per ascii editieren??? befinden sie sich in den dateien account.*?


    danke für die geduld, viele grüße
    vom klaus


    nachtrach:
    das ganze konstrukt ist DANN wackelig, wenn der absender "heimlich" die anzahl der emails erhöht ;)
    da ist ja auch ein befehl drin,m der u.a. mit blat.exe arbeitet so nach dem muster:
    arj a -e -y -v2000K -w%tmp% -x*.stk %tmp%\zyx-datei.arj z:\zyx\*.ald z:\zyx\*.log
    man sieht, die grüße des anhangs soll erstmal nicht 2.MB übersteigen (wegen der eventeullen empfindlichkeit von emailsystemen ;)
    ich glaube nicht, daß man so eine heimliche erhöhung abfangen kann, so nach dem muster: von meier kommen jetzt 6 emails, und die letzte datei heisst "zyx-datei.a05" und nicht "zyx-datei.a04".
    wie das lassen mal lieber unberücksichtigt ;)

    TheBat seit Ende 2011. Immer die aktuellste Version. 300.000 emails auf Win11-64bit. Sowas geht nur mit TheBat!

    4 Mal editiert, zuletzt von klaus_ph (18. April 2015 um 12:51)

  • frage: wie kann man darauf im filtermanager reagieren?

    Abgesehen von der allgemeinen Empfehlung, große Dateien nicht per E-Mail zu versenden, sondern irgendwo hochzuladen und nur den Download-Link zu schicken, wäre wohl die einzige Möglichkeit in einer solchen Situation, den Filter manuell auszuführen. Im Reiter "Optionen" kann man eine Tastenkombination bestimmen. Dann schaut man im Ordner nach, ob alle Archiv-Parts eingetrudelt sind und führt diese Tastenkombination aus. Der Filtermanager kann jedenfalls nicht überprüfen, ob alle Parts da sind, da jeder Filter sich nur auf eine bestimmte Mail bezieht.


    die filter selber kann man wohl nicht per ascii editieren??? befinden sie sich in den dateien account.*?

    Steht alles bei uns in FAQ. Die Dateien sind binär und daher grundsätzlich nicht editierbar.

  • guten tag sanyok
    a. danke für die "allgemeine empfehlung". doll. nicht gut/bringt nix ;) . man kann schon froh sein, wenn meine leute emails unkontrolliert emails verschicken können. ebenso müssen meine systeme vollautomatisch ablaufen (also das versenden von solchen KLEINEN dateipäckchen; wozu gibt es bei arj auf alle fälle den volumenschalter, bei rar evt auch....). solche geschichten wie dropbox und co sind viel schwerer durchzusetzen, als "den weg der email zu nutzen". (z.b. mit blat.exe). ich muss vorhandene wege nutzen können. email ist IMMER da! http wird teilweise sehr streng reglementiert, da habe ich teils proxy-konstruktionen kennengelernt, da schlackerst mit de öhrchen (z.B. in justizsystemen). nebenbei: da komem ich teilweise NICHT mit teamviewer rein, obwohl göppingen mit da was anderes verspricht ;(
    b. es muss alles vollautomatisch ablaufen, insofern iss nix mit irgendwelchen "tastenkombis bestimmen". man könnte den externen befehl timeout.exe noch mit einbauen...
    c. danke für den hinweis auf die faq. sehr brauchbar! danke!
    gruß kl.l.

    ps: somit kann ich also meine eigene frage mit "ja" beantworten:
    'oder ist obige konstruktion schon das "allerhöchste der gefühle"?'
    ja!

    TheBat seit Ende 2011. Immer die aktuellste Version. 300.000 emails auf Win11-64bit. Sowas geht nur mit TheBat!

  • Mir fällt noch ein, dass es auch die Möglichkeit gibt, Nachrichten nach RFC 1341 aufzuteilen. Dann kommt man ohne Packprogramme aus. Entscheidend ist nur, ob der MUA dieses Verfahren unterstützt.

    Eingestellt wird das in TB! über "Kontoeigenschaften | Dateien & Verzeichnisse". Rechts unten stellt man bei "Nachrichtenaufteilung" die Größe der Parts/Teile ein. Der Rest geschieht automatisch. Eine große Nachricht wird entsprechend dieser Einstellung beim Versenden automatisch in eine bestimmte Anzahl von Parts aufgeteilt. Im Postausgang sieht man aber nur eine einzige große Nachricht, als ob man sie ohne Aufteilung versandt hätte. Unterwegs sind dann zwar mehrere Parts und der Empfänger erhält auch mehrere Parts, nur dass sie wiederum automatisch vom MUA zusammengesetzt werden. Im Posteingang sieht er dann ebenfalls nur eine einzige große Nachricht.

    Bequemer geht's wohl kaum. Entscheidend ist, wie gesagt, dass das o.g. Verfahren unterstützt wird. Dieses gibt's bereits seit 1992, also müsste eigentlich mittlerweile jeder normale MUA es unterstützen. Mit Webmail-Diensten gibt's aber noch Probleme, s. den Thread "Aufgeteilte Nachricht".

    Will man nicht jede Nachricht aufteilen, sollte man die entsprechende Option in den Kontoeigenschaften nicht aktivieren, sondern stattdessen jedes Mal im Editor auf "Optionen" klicken und "Nachricht bei Bedarf aufteilen" aktivieren.

    Es gibt auch Makros dafür: %SPLIT und %NOSPLIT, die man in Vorlagen (z.B. bei bestimmten Kontakten) verwenden könnte. Mehr dazu in der Online-Hilfe.

  • Hallo Klaus,

    mal als Roh-Idee: Wenn man die erste Filtergruppe die Anhänge alle in ein bestimmtes Verzeichnis speichern ließe (das sonst für nichts anderes benutzt wird), könnte man dann erkennen, ob die Anhänge vollständig sind? In dem Fall würde ich vermutlich ein VB-Script schreiben, das über alle Dateien in diesem "Arbeitsverzeichnis" läuft. Wenn sie vollständig sind, wird die Batch-Datei zum Entpacken aufgerufen, sonst nicht. Falls ausgepackt wurde (natürlich in ein anderes Verzeichnis), wird das "Arbeitsverzeichnis" geleert. Das VB-Script könnte von dem 4. Filter gestartet werden.
    Frage wäre jetzt nur, was das Script machen soll, wenn sie noch nicht vollständig sind.

    Gruß
    Lisa

  • danke lisa,
    davon abgesehen, dass ich kein vb kann. ich kann nur scripten (also batch und etwas bash) ;)
    mit vb würde ich einen dritten gesellen ins spiel holen. ungern. (1. geselle: thebat und 2. geselle: das skript, was letztendlich alles zum schluss kommt.).
    ich werde auf alle fälle das mit dem timeout.exe nochmal mit einbauen....; da ja der timeout-befehl dann in dem einzigen und letzten externen befehl sitzt, kann er sich da austoben: 10-30sec müssten ausreichen. der externe befehl wird ja total unabhängig von thebat ausgeführt (korrekter gesagt: angestossen!), und macht sein ding. während thebat LÄNGST am weitermachen ist, also emails reinholt! noch und nöcher!

    am obigen beispiel mal eingebaut:
    NUR filter: "zyx-datei.a04" sieht etwas anderes aus:
    absender meier enthält meier@t-online.de
    und dateianlage mit übereinstimmenden muster zyx-datei.a?? ist der nachricht angehängt.
    als filteraktion ist notiert:
    dateianlagen speichern in verzeichnis c:\schmutz\zyx, filern nach zyx-datei.a??
    ___das ist anders: es wird eine batch aufgerufen mit %1___
    starte "f:\verarbeite_den_inhalt_der_emails.bat zyx"
    nachricht in ordner \\t-online\eingang\erledigt verschieben

    ===> in die datei f:\verarbeite_den_inhalt_der_emails.bat
    baue ich am anfang eine timeout mit 10 bis 30 einheiten wartezeit, und das muss reichen.
    emails, die NIE ankommen werden, werde ich so nicht abfangen.
    aber verspätete emails schon, bin ich sicher ;)
    UND natürlich, wenn eine bestimmte email NICHT ankommt, gibts nen echo-befehl mit pause!

    ok. sieht gut aus!
    danke an alle mitleser und mitdenker. [mitesser bleiben zuhause! ;-)]
    vielleicht hat der eine oder der andere mit diesem beispiel/mit der aufgabe auch die bandbreit entdeckt, was man machen kann ;)
    grüße, aus radeberg
    euer klaus(i)

    TheBat seit Ende 2011. Immer die aktuellste Version. 300.000 emails auf Win11-64bit. Sowas geht nur mit TheBat!