Nie widzę niczego złego w tych nagłówkach, a na dodatek "u mnie działa". Po imporcie tych wiadomości z pliku mogę je filtrować bez kłopotów. Różnice dat obliczane przez makro %XMP_TimeDiff są poprawne w obydwu przypadkach, działa zarówno pierwsza, jak i druga metoda filtrowania.

Zaczynam podejrzewać, że w Twojej wersji programu może coś działać źle. Spróbuj z nagłówków usunąć wiersze z wpisami Status: RO i Importance: Normal, bo jeśli się nie mylę, niezbyt pasują one do standardu RFC2822.

Jeśli nie masz nic tajnego w nagłówkach wiadomości sprawiających kłopoty, wklej je tutaj (wycinając adresy i inne wrażliwe dane). Zobaczymy co w nich dziwnego.

753

(9 odpowiedzi, napisanych Ogólne)

Program (spakowany sam plik wykonywalny) jest tutaj: http://www.ritlabs.com/download/files3/ … b42331.rar

754

(9 odpowiedzi, napisanych Ogólne)

Ja nie mam problemów (Vista Home Premium PL, komputer nienajnowszy z 4 GB RAM). Na angielskojęzycznej liście dyskusyjnej TBBETA także cicho...

The Bat! jest stary i nie wszystko będzie w nim działać, a w szczególności mogą nie działać niektóre makra. Nie dotyczy to jednak makr z wtyczki XMP, w których prawdziwą przyczyną niedziałania dla niektórych wiadomości jest według mnie błędny wpis daty (czyli ów nieszczęsny "Mon Feb 03 18:52:33 CET 2003").

Wykonaj niekłopotliwy test: utwórz prosty szablon podręczny (menu Narzędzia | Szablony podręczne):

Odebrano: %ORcvDate
Utworzono: %ODate

Zaznacz feralną wiadomość i sprawdź w edytorze szablonów podręcznych co się wyświetli w po użyciu przycisku Podgląd. Przekonamy się wówczas jak Twój The Bat! interpretuje taki niepoprawny wpis daty.

P.S. Zapomniałem, że w Twojej wersji chyba nie ma takiego rozszerzonego edytora szablonów. W celu przetestowania tego szablonu zapisz go i następnie spróbuj odpowiedzieć na tę oporną wiadomość. W edytorze wiadomości wpisz identyfikator zachowanego szablonu i zaraz po tym naciśnij kombinację klawiszy Ctrl+Spacja.

756

(6 odpowiedzi, napisanych Ogólne)

Podejrzewam zatem, że na Twoim komputerze jest jakaś blokada portu 578 (sprawdź ustawienia firewalla, jeśli jakiś u Ciebie działa) - a poza tym powinien to być port 587!. Niekiedy przyczyną może być program antywirusowy, który pełni rolę pośrednika między The Bat! a serwerem SMTP - wówczas trzeba zgrać ustawienia tak, aby pasowały do charakterystyki serwera.

757

(9 odpowiedzi, napisanych Ogólne)

Używam najnowszej wersji beta (4.2.33.1) i w niej ten efekt nie występuje - czyli pewnie coś poprawiono, chociaż nie widziałem zgłoszeń błędu.

To dziwne, że u Ciebie nie zadziałał ten pierwszy sposób. Sprawdź zatem działanie samego szablonu, zaznaczając daną wiadomość, potem otwierając panel ustawień filtru i edytor szablonu dla Twojego filtru. Na górze okna edytora masz przycisk Podgląd, który otwiera okno z wynikiem działania szablonu na daną wiadomość. Jeśli pojawi się w nim tekst mid:xxxxxxxxx - szablon działa poprawnie (różnica dat dla Twojego przypadku musi dla wybranej wiadomości być większa albo równa 20).

Drugi sposób z zestawem filtrów i eksportem całych wiadomości do pliku jest chyba bardziej efektywny i radzę go wypróbować - u mnie działa na Windows XP i Vista (PL), dla programów The Bat! 4.2.33.1 beta i The Bat! Voyager 4.2.25.

Której wersji programu używasz i na jakim systemie Windows pracujesz?

Twoje próby pokonania ułomności The Bat! są jak najbardziej prawidłowe, ale okazuje się, że jest jeszcze lepszy sposób: użycie rozszerzonego zestawu makr z wtyczki XMP, dostępnej do pobrania z tej witryny: http://thebat.pl/download/index.php?ite … p;catid=16

W tym zestawie znajduje się makro wyliczające bezwzględną różnicę czasu np. między dwiema datami. Jego użycie wymagało trochę zabawy z odpowiednim sformatowaniem czasu, ale nareszcie działa (u mnie). Szablon filtru można zatem zmienić na następujący:

%_diff=$%XMP_TimeDiff("%ORcvDate('yyyy-mm-dd')","%ODate('yyyy-mm-dd')")$%-
%IfN:%_diff>=xx:'mid:%SetPattRegexp="<(.*)>"%RegexpMatch="%OMsgID"'

W tym szablonie xx oznacza wartość bezwzględną różnicy dat, a nie jej kwadrat, i taką liczbę tam należy wpisać.

Jest też możliwe zbudowanie na tej bazie dwóch filtrów, które automatycznie wyeksportują wiadomości z różniącymi się datami. Oto gotowy zestaw filtrów do skopiowania i wklejenia:

$$$$ TB! Message Filter $$$$
beginFilter
UID: [DA615404.01CAA4B0.51A42D50.321AA695]
Name: Różnica\20dat\201
Filter: {\0D\0A\20`0`0`@\0D\0A}
UserParam param Date_diff value %QT(Dates_diff)
IsContinue
IsActive
Ignore
endFilter
1
beginFilter
UID: [4734A5EA.01CAA4B3.191656EB.19A1629C]
Name: Eksport
Filter: {\0D\0A\20`27`Date_diff`0`1\0D\0A}
ExportMessage FmtUnix filename E:\5Clista.txt filenamerelative %EXEDRIVE%\5Clista.txt
IsContinue
IsActive
Ignore
endFilter

Pierwszy filtr korzysta z szablonu podręcznego o identyfikatorze Dates_diff i zawartości takiej jak niżej:

%_diff=$%XMP_TimeDiff("%ORcvDate('yyyy-mm-dd')","%ODate('yyyy-mm-dd')")$%-
%_diff2='%Calc="%_df*%_df"'%-
%IfN:%_diff>=xx:1:0

W wyniku otrzymujesz plik tekstowy E:\lista.txt z wyeksportowanymi wiadomościami. Nazwę i miejsce tworzenia pliku możesz oczywiście zmienić. Wartość xx w szablonie to minimalna różnica w dniach dla daty odbioru i utworzenia wiadomości - musisz ją wpisać zgodnie ze swoim życzeniem.

The Bat!, jak Ci zapewne wiadomo, posługuje się szablonami do różnych celów. Szablony to rodzaj programów, które mogą wykonywać operacje, głównie na tekście, korzystając między innymi z makropoleceń. Szablony występują w różnych miejscach (patrz podręcznik), między innymi w filtrach przy eksporcie wiadomości do pliku.

Twój filtr ma eksportować do pliku tekstowego identyfikator wiadomości o określonych właściwościach. Ten identyfikator jest wynikiem działania podanego przeze mnie szablonu, który należy wkleić w okienku konfiguracji operacji filtru po kliknięciu przycisku Szablon - patrz rozdział Operacje wykonywane przez filtry, opis operacji Eksportuj wiadomość. W tym oknie zaznacz także opcję dopisywania do istniejącego pliku, tak aby po odfiltrowaniu kolejnych wiadomości nie niszczyć poprzednich wyników.