Datum filtern das in der Zukunft liegt

  • Hallo zusammen,

    weiß jemand, ob es im Filter eine Möglichkeit gibt Nachrichten zu filtern, deren Empfangsdatum in der Zukunft liegt?

    Diese würde ich nach zwei Tagen automatisch löschen wollen. Aber ich finde keine Einstellung, die es mir ermöglicht, das aktuelle Tagesdatum + n Tage zu verwenden.

  • Filterbedingung Alter

    Ich hab da eine Verständnisfrage: Ist das dann Aktuelles Datum - Datum des Empfangs? Oder Aktuelles Datum - Datum der Erstellung?


    The Bat! Pro 11.x BETA (32bit) | Win 11 Pro x64 | GnuPG 2.4.x | XMP + Regula

    Wer mich Er oder der Drache nennt, bekommt von der Drachin Pratze und Feuer zu spüren.

  • Es ist das Erstellt-Datum. Wahrscheinlich liegt es daran, dass der Filtermanager anhand des Headers filtert und nur dieses Datum darin gespeichert und außerdem unveränderbar ist.

    Das Erhalten-Datum kann man hingegen verändern, indem man z.B. die Nachricht ex- und dann wieder importiert. Sie erhält dann immer das aktuelle Datum, als ob man sie also gerade erst empfangen hätte.

  • Ja, das liest sich logisch.

    Ich hab gefragt, weil manches in den Filtern nicht wirklich eindeutig/verständlich ist, zudem eben Beispiele fehlen in der Hilfe.

    The Bat! ist an manche Ecken ein komplexer Werkzeukasten mit eingeschränktem Manual.


    The Bat! Pro 11.x BETA (32bit) | Win 11 Pro x64 | GnuPG 2.4.x | XMP + Regula

    Wer mich Er oder der Drache nennt, bekommt von der Drachin Pratze und Feuer zu spüren.

  • Da müsste ich einen negativen Wert eintragen, was aber leider nicht möglich ist.

    Was bedeutet ein negativer Wert? Das wäre doch ein Datum in der Vergangenheit.

    Bei dieser Filterbedingung kann man jedenfalls auch ist kleiner als wählen, was so eine Art Minus und damit ein negativer Wert wäre.


    Ich frage mich, wie die eMailversender es schaffen das Empfangsdatum in der Zukunft (also 05.07.2023) zu setzen.

    Das Empfangen-Datum wird immer vom Empfänger gesetzt und nicht vom Versender. Der Versender schreibt in den Mailheader nur das Erstellt-Datum. Und The Bat! als Empfänger nimmt immer die Uhrzeit, die gerade in Windows eingestellt ist. Wenn man dort 2023 einstellt, dann wird natürlich auch in The Bat! als Empfangen-Datum 2023 stehen.

    Einmal editiert, zuletzt von sanyok (16. September 2022 um 13:09) aus folgendem Grund: Tippfehler.

  • Das Empfangen-Datum wird immer vom Empfänger gesetzt und nicht vom Versender. Der Versender schreibt in den Mailheader nur das Erstellt-Datum. Und The Bat! als Empfänger nimmt immer die Uhrzeit, die gerade in Windows eingestellt ist. Wenn man dort 2023 einstellt, dann wird natürlich auch in The Bat! als Empfangen-Datum 2023 stehen.

    Das ist ja lustig und völlig sinnfrei. Wenn der Zeitstempel meines Mail-Servers verwendet würde, könnte ich das noch verstehen. Aber so werden bei unterschiedlichen Abrufzeitpunkten auf unterschiedlichen Geräten unterschiedliche Empfangsdaten gesetzt. Wer braucht denn sowas?!

    Sowohl beim Mailserver als auch bei meinem PC sind die Zeitangaben korrekt gesetzt. Die falschen Dati kommen (i.d.R.) auch nur bei manchen Spam vor. Eine mir bekannte Ausnahme ist das kostenpflichtige Programm "Shadow Protect". Die über dieses Programm versendeten eMails haben die Jahreszahl 1970 (wenn ich mich recht erinnere).

  • Pyradur Es Ist nicht sinnfrei. Der Mailstandard ist eben so seit Jahrzehnten genormt.

    Es gibt keinen Mail-Header für das Empfangsdatum in Mails, das wird anhand des Empfangszeitpunkt in der lokalen Maildatenbank des jeweiligen Mailcleints erstellt.


    The Bat! Pro 11.x BETA (32bit) | Win 11 Pro x64 | GnuPG 2.4.x | XMP + Regula

    Wer mich Er oder der Drache nennt, bekommt von der Drachin Pratze und Feuer zu spüren.

  • Sinnfrei oder nicht. Wenn du in den Quelltext einer Nachricht schaust, wirst du feststellen, dass dort nur das Erstellt-Datum (unter Date:) auftaucht, weil nur dieses immer konstant ist. Man hat eine Nachricht erstellt und versandt und dieser einmalige Zeitpunkt wird fixiert.

    Das Empfangen-Datum ist hingegen immer variabel und kann verändert werden, z.B. durch Ex- und dann wieder Import (s.o.). Daher wird es nur im Programm im Zeitpunkt des Empfangs bzw. Imports und nicht in der Nachricht fixiert. Woher soll sonst jemand wissen, wann diese konkrete Nachricht von dir empfangen wird? Das kann ja nur dein Programm wissen. Daher existiert auch diese berühmte Empfangsbestätigung, erst durch die man erfährt, wann die Nachricht ankam.

    So funktioniert das zumindest bei POP3, weil bei diesem Protokoll The Bat! die Nachrichten tatsächlich empfängt. Bei IMAP hingegen bleiben sie grundsätzlich auf deinem Mailserver und werden lediglich synchronisiert. Es kann daher sehr gut sein, dass TB! dann das Empfangen-Datum angezeigt, das dein Mailserver vermerkt hat, das Datum also auch lediglich synchronisiert. In diesem Fall stimmt etwas mit dem Mailserver nicht.

    Ist hingegen die Uhrzeit des Versenders falsch oder wird sie von ihm gar nicht gesetzt, dann ist Date: im Header falsch oder fehlt gänzlich. Ich habe auch schon oft Nachrichten aus 1970 oder gar 1899 bekommen. Dazu gab es auch schon einen BugTracker-Eintrag - mehr unter "[erledigt] [Bug] Falsches Erstellt-Datum, wenn DATE im Header fehlt". Ritlabs haben das dann noch in v8.3.0.3 verändert und seitdem müsste in der betreffenden Spalte des Erstellt-Datums das Empfangen-Datum stehen, also zweimal dasselbe.

    Das scheint ja auch bei dir der Fall zu sein, denn beide Daten sind identisch. Schaue mal in den Quelltext der Nachrichten. Haben sie überhaupt ein Date:? Und wenn ja, welches?

    Es kann also sein, dass TB! seinerzeit bei fehlendem Datum immer eins aus der Vergangenheit genommen hat, dein Mailserver aber eins aus der Zukunft nimmt.

  • Sowohl als auch. Beide Dati sind identisch.

    Ich hab noch nicht ganz Dein Problem verstanden, ich brauche mehr Infos.

    Mir ist das hier klar: jemand hat Dir eine Mail geschickt, deren Erstellt-Datum in der Zukunft liegt (wie auch immer das zustande kommt).

    Meine Frage ist jetzt:

    Nach welchem Kriterium willst du das jetzt filtern und löschen?

    Beispiele:

    1. Erstellt-Datum liegt in der Zukunft
    2. Erstellt-Datum liegt mehr als x Tage in der Zukunft
    3. Erstellt-Datum liegt weniger als x Tage in der Zukunft
    4. Löschen am Tag des Erstellt-Datums
    5. x Tage nach dem Erstellt-Datum

    Wie lautet jetzt Dein Löschkriterium?

    Jörg Schiermeier
    Informatiker, Bielefeld

    The Bat! professional v9.x (32bit NAU) mit XMP-, Regula- und Shell-Plugin • wine v9.x • devuan linux (excalibur/ceres)

  • deren Empfangsdatum in der Zukunft liegt? Diese würde ich nach zwei Tagen automatisch löschen wollen

    Ups, wer lesen kann, ist klar im Vorteil.

    Also dieses Szenario:

    • heute ist der 18. September 2022
    • Erstellungsdatum der Mail: 5. Juli 2023

    am 20. September 2022 löschen

    Wäre das so korrekt? Meinst du das so?

    Jörg Schiermeier
    Informatiker, Bielefeld

    The Bat! professional v9.x (32bit NAU) mit XMP-, Regula- und Shell-Plugin • wine v9.x • devuan linux (excalibur/ceres)

  • So, ein einfaches Beispiel einer Lösung für die o.g. Maildaten:

    hier zum direkten reinkopieren:

    Code
    $$$$ TB! Message Filter $$$$
    beginFilter
    UID: [67360046.01D8CCDB.537F9525.4799C3C0]
    Name: date_in_future
    Filter: {\0D\0A\20`7`Date`0`2023\0D\0A}
    Tag: Datum\20in\20der\20Zukunft
    Delete
    IsActive
    Ignore
    endFilter

    Wenn mir noch was einfällt, poste ich das hier.

    Jörg Schiermeier
    Informatiker, Bielefeld

    The Bat! professional v9.x (32bit NAU) mit XMP-, Regula- und Shell-Plugin • wine v9.x • devuan linux (excalibur/ceres)

  • Lösung 2:

    ist halbautomatisch:

    Der passende Code dazu:

    Code
    $$$$ TB! Message Filter $$$$
    beginFilter
    UID: [67360046.01D8CCDB.537F9525.4799C3C0]
    Name: date_in_future_2
    Filter: {\0D\0A\20`24`1`1`20220921T220000Z\0D\0A}
    Tag: Datum\20in\20der\20Zukunft
    Delete
    IsActive
    Ignore
    endFilter

    Wenn mir noch mehr einfällt, poste ich das hier.

    Jörg Schiermeier
    Informatiker, Bielefeld

    The Bat! professional v9.x (32bit NAU) mit XMP-, Regula- und Shell-Plugin • wine v9.x • devuan linux (excalibur/ceres)