2011-07-09 16:51:29
Eksperymentalna obsługa protokołu IMAP4

Kod IMAP4 w Hellcore Mailerze co prawda jest w fazie bardzo zaawansowanych eksperymentów, ale już teraz zachowuje się dużo optymalniej (albo chociaż przewidywalniej) niż inne programy (w szczgólności te, które relatywnie niedawno miały dorobić się "przepisanego od zera, superwydajnego i superstabilnego modułu IMAP" ;->). No ale najważniejsze, że działa na tyle sensownie, że można to już dać do ręki wszystkim odważnym i/lub niecierpliwym. :-)

Co jest, a co nie jest zaimplementowane? Największe (najboleśniejsze) braki to brak obsługi pipeliningu (opcja w ustawieniach konta nie ma znaczenia, chociaż jest zapamiętywana) i rozszerzeń NAMESPACE i BINARY. Na wszystko przyjdzie jednak pora, NAMESPACE zostanie zaimplementowane w pierwszej kolejności. Za to zaimplementowana jest obsługa rozszerzeń COMPRESS, LITERAL+, IDLE, UNSELECT, UIDPLUS, CHILDREN, SASL-IR oraz ID. W kodzie jest już szkielet kodu rozszerzeń NAMESPACE, BINARY oraz QUOTA i one wejdą jako następne.

Co zaś się tyczy bezpieczeństwa danych, to sprawa jest prosta. W trakcie ostatnich testów udało mi się narobić bałaganu i stracić orientację, ale tylko dlatego, że Hamster (którego używam do testów "zerowych") jest źle napisany i nie obsługuje wielu z ww. rozszerzeń - HCM najbardziej cierpi z braku obsługi UIDPLUS na serwerze. Efektem tego może być np, ściąganie wiadomości które przed chwilą wysłał - zaimplementowałem co prawda procedury które identyfikują świeżo wysłane wiadomości na serwer i działa to, ale nie zawsze a do tego - póki co - powoduje jeszcze większe zamieszanie niż potrzeba, dlatego ostatecznie kodu identyfikującego nie ma w wypuszczonej binarce i na serwerach, gdzie nie ma obsługi rozszerzenia UIDPLUS, HCM po prostu będzie zakładał że wysłane/skopiowane maile są zupełnie nowymi, które przyszły z nie wiadomo kąd a nie od niego samego. Brzmi idiotycznie, ale większość mailerów tak robi bez względu na obecność rozszerzenia UIDPLUS. A gdy już wszystko się totalnie rozjedzie, to można wykorzystać reindeksację folderu. Funkcja została rozszerzona i w przypadku folderów IMAP oferuje możliwość skasowania lokalnych danych i pociągnięcia ich od nowa z serwera. Ewentualnie można zdesubskrybować folder i zasubskrybować go na nowo.

Brak obsługi SASL-IR czy LITERAL+ w serwerze spowoduje ciut wolniejszą pracę programu, zaś brak obsługi UNSELECT sprawi, że czasem program będzie zrywał połączenia. Brak IDLE utrudni szybkie wykrycie zmian zawartości folderu, brak COMPRESS - większe obciążenie łącza, a brak CHILDREN sprawi, że program może mieć problemy z określeniem, czy dany folder zawiera podfoldery.

Z innych braków należy wspomnieć o tym, że filtrowanie działa, ale tylko ręcznie. Nie ma większych problemów z hurtowym filtrowaniem folderów - po prostu nowe maile będą sobie leżały w źródłowym folderze i nic poza tym. To się oczywiście zmieni, podobnie jak i to, że po utworzeniu konta listę subskrybowanych folderów trzeba pobrać ręcznie. Jeszcze są problemy z blokadami folderów (czasami nie są zdejmowane) - wtedy trzeba zamknąć program i uruchomić na nowo. Nie udało mi się tego odtworzyć teraz, ale zdarzało się, że przy hurtowym przenoszeniu/kasowaniu maili program "wieszał się" w momencie gdy powinien wydać kolejne polecenie. Mam nadzieję że zdążyłem to poprawić, ale gwarancji póki co nie daję.

To tyle jeśli chodzi o IMAP. Ponieważ od ostatniej wersji daily minęło trochę więcej niż "day" (a nawet więcej jak 240 days), niemożliwym by było, by eksperymentalny IMAP był jedyną zmianą. Ano nie:

  • Dodana obsługa pasku postępu na pasku zadań (Win7+).
  • Dodane autouzupełnianie i autosugestie w polach do wprowadzania nazw plików.
  • Dodane wskazówki do pól szybkiego wyszukiwania.
  • Dodane oznaczanie wiadomości jako przeczytane po usunięciu.
  • Dodane opróżnianie kosza przy wychodzeniu.
  • Dodana możliwość zmiany nazwy i usuwania konta z poziomu drzewa folderów.
  • Rozszerzona zgodność z funkcją Sound Sentry (Strażnik Dźwięku).
  • Uzupełniona obsługa unicode w nazwach załączników.
  • Poprawiona zgodność z nietypowymi schematami kolorów i rozdzielczościami (DPI) ekranu.
  • Poprawiona wydajność dekodera MIME.
  • Usuniętych wiele błędów dekodera MIME (np. usunięty problem z pustymi mailami z serwisu Paypal).
  • Usuniętych kilka błędów w czytniku NNTP, w tym usunięty wyciek pamięci i do 6x zwiększona wydajność przy czytaniu dużych (>1MB) postów na serwerze oraz zlikwidowany problem z wysyłaniem wiadomości z załącznikami.
  • Usuniętych kilka błędów w kodzie wyświetlającym maile.
  • Poprawiona ogólna stabilność programu.
  • Dużo innych zmian i poprawek funkcjonalności.

Dla większości najważniejsze będą poprawki dekodera MIME, niektórym mogą spodobać się nowe funkcje, tak czy siak, dla każdego coś się znajdzie. ;-)

No i jak zwykle przypominam, że należy zaktualizować nie tylko plik hcm.exe, ale także hcm_extra.dll. A po aktualizacji nie ma opcji powrotu do poprzedniej wersji, zatem zalecam zrobienie kopii danych PRZED aktualizacją.

Nowa wersja - ciągle jako daily - do ściągnięcia z http://nowy.hellcore-mailer.pl.


Może Cię zainteresować...

Link | Komentarzy: 1 | HCM, Tech
Pokazuj komentarze.
Komentowanie wyłączone dla tego wpisu.
Powered by:
Hellcore Mailer - polski program pocztowyOpera Web BrowserFreeBSD - The Power to Serve!Slackware
RSSy:
Sidekick:
Projekty:
O autorze:
Zobacz:
Kategorie:
Archiwum:
Szukaj: