1,311

(2 odpowiedzi, napisanych Ogólne)

Zdecydowanie polecam wersję "Professional" i korzystanie z zawartych w niej możliwości szyfrowania na bieżąco zarówno plików konfiguracyjnych, jak i samych wiadomości. Pracuję na tej wersji od ponad roku i po początkowym okresie dostrajania tej funkcji przez autorów obecnie działa ona bez zarzutu. Na początek radzę zapoznać się z podręcznikiem i rozdziałem Instalacja programu - to ważne, bo wprowadzenie szyfrowania na hasło jest nieodwracalne.

1,312

(31 odpowiedzi, napisanych Ogólne)

Filtr powinien działać także na wiadomości zaimportowane, co wypróbowałem na przykładzie załączonym wcześniej przez Ciebie. Zaimportuj wiadomość do jakiegoś folderu i przefiltruj ten folder ręcznie - wtedy zobaczysz wynik. Zgodnie z opisem filtru, w pliku "unix_msg.mbx" będzie cała pierwotna wiadomość, a plik "message.msg" zawierający wiadomość poprawioną zostanie usunięty przez wiersz poleceń w trzeciej operacji (jest za to odpowiedzialny parametr "W" w tym wierszu).

Chcąc usuwać także plik "unix_msg.mbx", musisz posłużyć się dodatkowym programem zewnętrznym typu .bat, który wywołasz z poziomu filtru (będzie to już jego piąta operacja). Taki program wsadowy powinien zawierać dwa wiersze:

DEL "<Pełna ścieżka do pliku>\unix_msg.mbx"
EXIT

Usuwanie pliku "unix_msg.mbx" nie jest jednak konieczne (chyba że są istotne powody, dla których chcesz go usuwać). Jego zawartość zmienia się po każdym zadziałaniu filtru i w niczym nie przeszkadza.

1,313

(31 odpowiedzi, napisanych Ogólne)

Dyskusja na temat błędów kodowania trwa wśród użytkowników The Bat! od dość dawna, szczególnie dotyczy to alfabetów takich jak grecki lub cyrylica. Wiąże się to zapewne z wprowadzeniem Unicode na szerszą skalę. Mam nadzieję, że autorzy umożliwią wymuszanie domyślnego kodowania nawet wtedy, gdy wiadomość nie zawiera informacji na ten temat, czyli gdy jest błędnie sformatowana.

Na tym forum podobny problem pojawił się w innym wątku i również dotyczył wiadomości rozsyłanych przez serwer ze strony WWW. Jeśli są to wiadomości czysto tekstowe, czyli tak jak w przypadku omawianym tutaj, problem można obejść stosunkowo prosto za pomocą jednego filtru poczty przychodzącej. Powinien on reagować na charakterystyczne dane w błędnie sformatowanej wiadomości, np. adres nadawcy, temat, lub nawet brak wpisu w polu Content-Type. Filtr wykonuje kilka operacji charakterystycznych dla "poprawiania" odebranych wiadomości:

1. Eksport wiadomości do pliku w formacie skrzynki uniksowej (np. do D:\Dane\unix_msg.mbx).

2. Eksport wiadomości do zwykłego pliku tekstowego (np. D:\Dane\message.msg) według specjalnego szablonu (z zastąpieniem pliku o takiej samej nazwie, jeśli już taki plik istnieje). Istotą tego szablonu jest wykorzystanie wcześniej wyeksportowanego pliku unix_msg.mbx jako źródła do modyfikacji. W tym przypadku modyfikacja polega na podziale nagłówka, dopisaniu brakujących wierszy "kodujących" i następnie reszty wiadomości. Oto przykładowy szablon dla tej operacji ekportu:

%_OldMsg(%Put="D:\Dane\unix_msg.mbx")%-
%SetPattRegExp="(?ismU)(.*)(^Subject:\s*.*\n)(\w.*?)"%RegexpBlindMatch(%_OldMsg)%-
%SubPatt(1)%SubPatt(2)MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2
Content-Transfer-Encoding: 8bit
%SubPatt(3)%-

3. Import wiadomości z pliku D:\Dane\message.msg za pomocą wiersza poleceń, czyli uruchomienie w filtrze programu zewnętrznego, którym jest The Bat!, z następującym wierszem poleceń (warto także włączyć opcję czekania na zakończenie):

C:\Program Files\The Bat!\thebat.exe /IMPORTU="Nazwa konta";F="Nazwa folderu";X;W;I="D:\Dane\message.msg"

4. Ostatnią operacją w filtrze jest usunięcie oryginalnej wiadomości.

Działa to bez problemu, gdyby były jakieś niejasności - chętnie pomogę w ich wyjaśnieniu.

P.S. Dodam jeszcze drobne wyjaśnienie na temat zasady działania filtru do "poprawiania" przychodzących wiadomości. Jego najważniejszą częścią jest druga operacja eksportu danych do pliku (tutaj D:\Dane\message.msg), a w niej - szablon eksportu. W szablonie wykorzystano wyrażenie regularne dzielące treść pobraną z pliku, który powstał w wyniku wcześniejszej operacji eksportu wiadomości w formacie skrzynki uniksowej. Jako punkt podziału wiadomości wybrałem pole Subject w jej nagłówku, lecz równie dobrze może być to inne ściśle określone miejsce w źródłowej postaci danych. Zależy to od konkretnej potrzeby, np. gdy zamiast dodania pól określających kodowanie chcemy zmienić wartość jakiegoś pola nagłówka, wtedy jako punkt podziału trzeba przyjąć pole, które ma być zmieniane. W wyrażeniu regularnym (?ismU)(.*)(^Subject:\s*.*\n)(\w.*?) definiującym podział mamy zatem trzy podwyrażenia: (.*) oznacza dane od początku wiadomości do punktu podziału, (^Subject:\s*.*\n) oznacza wiersz, będący punktem podziału, a (\w.*?) pozostałą część wiadomości. Wydzielone (i zmodyfikowane w razie potrzeby) części wiadomości są następnie wpisywane do pliku za pomocą makr %SubPatt(n). Ważne jest przy tym zachowanie odpowiedniej kolejności poszczególnych elementów, szczególnie gdy między nie wstawia się dodatkowe dane (np. wiersze definiujące kodowanie).

1,314

(7 odpowiedzi, napisanych Ogólne)

Blondon napisał/a:
Zygmunt napisał/a:

Tutaj widzę przyczynę złego kodowania! Czy tworzysz te nowe wiadomości, klikając w link mailto:?

Tak, tak właśnie tworzę, ale nie zrozumieliśmy się... smile Nie chodzi o maile tworzone przeze mnie, ale o te, które dostaję. One najpierw przychodzą do tych 6 folderów (po filtracji), w których mam ustawione domyślne kodowanie (widok wiadomości) na ISO-PL. Po przeniesieniu do folderów "osobistych" w treści maili widzę krzaczki.

Aha, w takim razie niewiele da się zrobić. Z wiadomościami tworzonymi przez skrypty na stronach WWW bardzo często są kłopoty i trzeba indywidualnie wymuszać ich poprawne wyświetlanie (co nie zawsze się udaje). The Bat! oczekuje na wpis kodowania znaków w nagłówku i jeśli tego nie ma, odkodowuje wiadomość korzystając ze "wspólnego mianownika", czyli wspomnianego "us-ascii". Można spróbować dodać do nagłówka wpis z kodowaniem. Mógłby to być filtr poczty przeczytanej tworzący "nową wiadomość według szablonu" (patrz opis operacji filtrowania w podręczniku). Oryginalna wiadomość byłaby usuwana, a w folderze pojawiałby się w lekko zmodyfikowanej postaci (wystarczyłoby chyba użyć makra %Charset w szablonie filtru).

Blondon napisał/a:

Ja i tak muszę te dane wyciagać ręcznie do bazy w excelu. Tak, tak, wiem, że to wszystko można by było rozwiązać prostą bazą SQL, ale ja tej aplikacji nie projektowałem i w ogóle nie chcę w to wchodzić, to trochę skomplikowana sprawa...

Excel odczytuje pliki CSV, a utworzenie takiego pliku za pomocą The Bat! to fraszka. Tutaj następny ukłon w stronę filtru eksportującego wiadomości do pliku tekstowego.

Blondon napisał/a:

Moje szablony (te prywatne) są bardzo grzeczne, hmm.. Nawet gdybym przez przypadek wysłał maila z prywatnego folderu na "służbowy"adres nic by się nie stało. Z resztą nie widzę tu różnicy między szablonami dla kont i folderów - w obu przypadkach można się chyba tak samo wygłupić?

Problem nie istnieje, jeśli nie korzystasz z makra %To w szablonach przypisanych do folderu. Tutaj nie chodzi nawet o "grzeczność", a raczej o prywatność korespondencji, która znienacka może się w takim przypadku pojawić u kogoś obcego. Zerknij do rozdziału "Ostrożności nigdy dosyć" w podręczniku.

Uwaga z dn. 9/11/2005: Operacja "nowa wiadomość według szablonu" w filtrze ma błędy i obecnie nie można z niej skorzystać w taki sposób jak sobie wyobrażałem. Problem został zgłoszony autorom do poprawki.

1,315

(2 odpowiedzi, napisanych Ogólne)

Kriss napisał/a:

Czy istnieje mozliwość zablokowania zamknięcia programu The Bat przez kliknięcie w przycisk zamknij (krzyżyk) w pasku ??

Nie, nie ma takiej możliwości. Masz jednak możliwość usunięcia reklam ze swojego posta i z tego warto skorzystać.

1,316

(7 odpowiedzi, napisanych Ogólne)

Blondon napisał/a:

... Gdybym normalnie wcisnął "odpisz" odpowiedź poszłaby do jakiegoś robota (nobody@provider.pl), czyli nigdzie. Dlatego musiałbym ręcznie wpisywać adres maila zanim wysłałbym odpowiedź, co tez oznacza dodatkową robotę, albo po prostu klikałbym sobie na adres maila który dana osoba podaje w tym formularzu i tworzył nową wiadomość z przygotowanym szablonem jako odpowiedź, co robię obecnie smile

Tutaj widzę przyczynę złego kodowania! Czy tworzysz te nowe wiadomości, klikając w link mailto:? Jeśli tak, to w Twoim koncie, na którym działasz, spróbuj włączyć opcję Konto domyślne dla wywołań mailto: (we właściwościach konta). Prawdopodobnie The Bat! przy takim wywołaniu korzysta ze "wspólnego mianownika", czyli kodowania "us-ascii" i należy go jakoś zmusić do kodowania ISO-8859-2. Radzę także dodatkowo w szablonie tej nowej wiadomości wpisać makro %Charset="ISO-8859-2". To powinno pomóc.

Wracając zaś do sposobu odpowiadania na wiadomości ze "złym" adresem zwrotnym: skoro prawdziwy adres jest umieszczony w standardowy sposób w treści wiadomości, to da się go stamtąd automatycznie wyciąć i użyć w odpowiedzi. Może to zrobić ręcznie uruchamiany filtr generujący odpowiedź według wskazanego szablonu z dodatkiem kilku makr i wyrażeń regularnych. Jeśli nie narusza to czyjejś prywatności, wyślij mi prywatnie taką wiadomość - spróbuję zbudować odpowiedni filtr. Z kodowaniem nie będzie tam prawdopodobnie żadnego kłopotu.

Blondon napisał/a:

Cały problem teraz polega na tym, żeby jako nazwę tworzonego przez filtr folderu użyć makra - kolejna wolna liczba porządkowa. Nie znalazłem takiego makra sad Może za słabo szukałem?

Takiego makra rzeczywiście nie ma, lecz da się to zrobić za pomocą kilku makr i pomocniczego pliku z "licznikiem". W taki sposób numeruję swoje wiadomości na liście dyskusyjnej thebat-l@, a opis możesz znaleźć na tej stronie w dziale FAQ (http://thebat.pl/faq/index.php?itemid=253).

Blondon napisał/a:

Tyle że ja zawsze muszę dopisać coś od siebie w tych mailach, więc przypadek prywatnego maila w służbowej sprawie jest praktycznie dla mnie niewyobrażalny...

Ja także tego sobie kiedyś nie wyobrażałem... Tego co się stało, nie będę jednak publicznie opisywał, bo mi do dziś głupio.

Blondon napisał/a:

No i nadal nie wiem co z tym widokiem - kodowaniem w nowo utworzonych folderach. Byłoby super gdyby foldery podrzędne dziedziczyły tą właściwość po folderze nadrzędnym, tak się jednak nie dzieje sad

Niestety, nie dziedziczą! Jeśli po dodaniu makra %Charset="ISO-8859-2" do szablonu nic się nie zmieni, to rzeczywiście będzie problem.

1,317

(20 odpowiedzi, napisanych Ogólne)

eM napisał/a:

Co do notatek, to nie umiem jeszcze nimi pracowac.

To bardzo proste. The Bat! przechowuje wiadomości w swoistych bazach danych, a jednym z pól w takiej bazie jest właśnie notatka. Edytor notatek otwierasz z menu Wygląd | Automatyczny podgląd notatki - w otwartym oknie możesz wpisać dowolny tekst. To samo możesz wykonać za pomocą filtru, ponieważ na liście dostępnych operacji mamy Włącz notatkę, która otwiera edytor szablonu notatki. Możesz w nim wpisać to samo co w zwykłym szablonie, łącznie z makrami. Jeśli w filtrze w szablonie notatki użyjesz makra %Attachments, w notatce powstałej po zadziałaniu filtru i przypisanej do odfiltrowanej wiadomości pojawi się lista załączników. Jeśli zależy Ci na ładnym sformatowaniu tej listy, możesz w szablonie notatki wywołać jakiś szablon formatujący (szukaj w FAQ lub w archiwum listy dyskusyjnej thebat-l@).

Notatki są zachowywane w kopii zapasowej, można je automatycznie wyświetlać, ich zawartość może być użyta jako warunek filtru (także w filtrach dla widoków i folderów wirtualnych)... Niezależnie od automatycznej generacji treści notatki, można robić to ręcznie. Jedynym mankamentem przy przetwarzaniu notatek, który być może zostanie kiedyś usunięty, jest brak makra zwracającego ich treść.

1,318

(7 odpowiedzi, napisanych Ogólne)

Blondon napisał/a:

Postaram się krótko przedstawić jak to u mnie wyglada: Poczta przychodząca od każdej z tych kilkuset osób dotyczy w 99% przypadków 6 tematów (6 etapów pewnego zadania które każda z tych osób po kolei "zalicza"). W związku z tym utworzyłem 6 folderów, do których te maile trafiają. Każdy z tych folderów ma przyporządkowany szablon odpowiedzi. Nastepnie, po odpowiedzeniu na maila, przenoszę go ręcznie do folderu "osobistego" danej osoby. Nie mam więc problemów z odpowiedziami na maile, ale z widokiem maila w tym nowo utworzonym folderze.

Taka sytuacja doskonale nadaje się do optymalizacji. Masz już filtry poczty przychodzącej, które segregują wiadomości do sześciu folderów "tematycznych". Ręczne przenoszenie wiadomości do folderów "osobistych" można prosto zastąpić przenoszeniem automatycznym - wykona to jeden uniwersalny filtr dla wiadomości z odpowiedzią. Twoje odpowiedzi także powinny trafiać do tych samych folderów "osobistych" - to zadanie zrealizuje następny uniwersalny filtr poczty wychodzącej. Dodatkowo te filtry powinny automatycznie tworzyć foldery "osobiste", jeśli sam ich wcześniej nie utworzyłeś.

Takie działanie wymaga stosowania jednolitej konwencji nazw dla folderów "osobistych". Proponuję, by nazwy tych folderów były takie jak adresy e-mail Twoich korespondentów - wtedy w filtrach przenoszących wiadomości nazwy tych folderów można zapisać z użyciem makra %OFromAddr (dla filtru poczty z odpowiedzią) albo %ToAddr (dla filtru poczty wychodzącej). Nazwa folderu docelowego w filtrze powstaje jako złożenie nazwy konta i nazwy folderu nadrzędnego, czyli ma postać: \\Konto\Folder_nadrzędny\%OFromAddr (lub %ToAddr - zależy to od filtru).

Można zawęzić działanie filtrów "osobistych", narzucając dodatkowe warunki (jeśli są znane), np. przynależność do określonej grupy tematycznej. Aby wizualnie zróżnicować wiadomości z różnych grup tematycznych, warto zastosować kolorowanie, które powinny wykonywać główne filtry "tematyczne". Wtedy jako warunek filtrów podrzędnych możesz wykorzystać kolor wiadomości.

Jak pisałem poprzednio, szablony dla folderów nie są najszczęśliwszym rozwiązaniem i należy ich unikać. Historia zna wiele przypadków zabawnych i smutnych pomyłek związanych z wysyłką prywatnej poczty do niewłaściwych adresatów - wystarczy tu chwila nieuwagi. Dlatego proponuję, abyś automatycznie dopisywał adresy swoich korespondentów do książki adresowej. Ponieważ masz filtry "tematyczne", dodaj do każdego z nich dodatkowy filtr podrzędny, który będzie dopisywał adres korespondenta do odpowiedniej grupy "tematycznej" w książce adresowej. Taki filtr "adresowy" powinien działać tylko wtedy, gdy danego adresu nie ma w danej grupie adresowej. Kolejnym krokiem jest sporządzenie sześciu kompletów szablonów dla sześciu grup "tematycznych" w książce adresowej - takie szablony mają wyższy priorytet niż szablony powiązane z folderami i w naturalny sposób ograniczają możliwość pomyłki.

W kolejnym etapie można pomyśleć np. o automatycznym usuwaniu zbędnych adresów z książki, gdy korespondencja z daną osobą się zakończyła. Mozna także automatycznie archiwizować w plikach tekstowych zawartość folderów "osobistych" - to także zadanie dla filtru. Na początek proponuję jednak utworzenie opisanych wyżej filtrów "tematycznych" i "osobistych" - potem można pomyśleć o dalszej optymalizacji.

P.S. Nie napisałeś, którą wersją programu się posługujesz. To ważna sprawa, ponieważ makra w parametrach fitrów działają od niedawna.

1,319

(7 odpowiedzi, napisanych Ogólne)

Korzystasz zapewne z szablonów powiązanych z folderami, lecz nie jest to najlepsze rozwiązanie (wyjaśnienie w podręczniku oraz w archiwum listy dyskusyjnej thebat-l@). Jeśli nie korzystasz, to problem da się prosto rozwiązać przez wstawienie do głównych szablonów danego konta makra %Charset="ISO-8859-2". Jeśli używasz szablonów powiązanych z folderami, to takie makro musisz wstawić do każdego szablonu.

1,320

(20 odpowiedzi, napisanych Ogólne)

eM napisał/a:

Godzinowe czy rozmiarowe filtrowanie calkowicie odpada, bo po porstu nie polapie sie w tym wszystkim. Mysle nad tematycznym, ale to tez rozgardiasz. Predzej filtrowalbym po nadawcy, ale do tego dochodzi wlasnie masa folderow.

Jeśli najrozsądniejsze będzie u Ciebie filtrowanie według nadawców, można pomyśleć o ich wcześniejszym pogrupowaniu w książce adresowej i utworzeniu oddzielnych folderów dla poszczególnych grup. Filtry poczty przychodzącej wykrywałyby wówczas obecność nadawcy w grupie i na tej podstawie przenosiły wiadomości do odpowiednich folderów.

W The Bat! są dwa rodzaje zakładek, które umożliwiają swoisty wybór nieprzeczytanych wiadomości: dla listy folderów (wyświetla wszystkie foldery z nieprzeczytanymi wiadomościami) i dla listy wiadomości (wyświetla nieprzeczytane wiadomości w danym folderze). W Twoim przypadku nie są one zbyt efektywne, gdyż chciałbyś wyświetlić wszystkie nieprzeczytane wiadomości z różnych folderów. W takim przypadku nieoceniony będzie folder wirtualny, w którego właściwościach wybierzesz obserwowane foldery i dodatkowo włączysz filtr nieprzeczytanych wiadomości.

Foldery wirtualne ułatwiają także wiele innych czynności związanych z codzienną obsługą poczty. Ja regularnie z nich korzystam, mam np. folder wirtualny, który filtruje wiadomości tylko  z ostatniego tygodnia. Inny folder wirtualny wyświetla wiadomości tylko od określonych osób, łącznie z moimi odpowiedziami. Mam także folder, który pokazuje wiadomości zawierające określone słowo kluczowe w notatce powiązanej z daną wiadomością (treść tej notatki generuje zaś ręcznie uruchamiany filtr).

Jak widzisz, możliwości sortowania poczty w The Bat! są olbrzymie. Wielkość Twoich wiadomości jest pewnym ograniczeniem ze względu na limit 2 GB, lecz może dałoby się zastosować ręcznie uruchamiany filtr, który zachowywałby wiadomości w jakichś katalogach na dysku (nazwa katalogu mogłaby być automatycznie powiązana z domeną nadawcy) oraz tworzyłby notatkę do danej wiadomości z listą załączników i miejscem ich przechowywania? Następnie należałoby ręcznie usunąć załączniki. Można dodatkowo utworzyć specjalny folder wirtualny, który wyświetlałby tylko takie wiadomości. Dzięki temu nie będą się rozrastać pliki w folderach The Bat!, a dostęp do załączników łatwo będzie uzyskać na podstawie zawartości notatki. W notatce można automatycznie umieszczać dodatkowe dane, np. datę odbioru lub utworzenia wiadomości, adres nadawcy itp. Można także tworzyć automatycznie cały dziennik korespondencji w postaci pliku tekstowego. Możliwości jest tu naprawdę bardzo dużo!