• Sekrety YAM-a

21.12.2012 13:22, autor artykułu: Dariusz Gac
odsłon: 2644, powiększ obrazki, wersja do wydruku,

YAM jaki jest, każdy widzi - chciałoby się powiedzieć. Można zaryzykować stwierdzenie, że to najpopularniejszy program do odbioru i wysyłki poczty elektronicznej dla systemów AmigaOS/MorphOS. Gwoli wstępu, pierwsza publiczna wersja YAM-a pojawiła się w 1995 roku. W 2000 roku, Marcel Beck zaprzestał dalszego rozwoju programu, ale jednocześnie udostępnił jego kod źródłowy na licencji GPL. Od tamtej pory program jest rozwijany przez grupę programistów. Ostatnia, stabilna wersja programu YAM jest oznaczona numerem 2.6p1 i datowana na dzień 26.09.2010. YAM, oprócz codziennej użyteczności, posiada jeszcze swoje "sekrety", o których mało kto wie. Poniższy artykuł ma na celu przybliżenie tych "tajemnic".

Codzienna praktyka z YAM-em to zasadniczo otwarcie okna z programem, odbiór, czytanie, pisanie i wysyłka poczty elektronicznej. Innymi słowy, na co dzień korzystamy z jego Graficznego Interfejsu Użytkownika (GUI), ale YAM - jak każdy szanujący się program przeznaczony dla AmigaOS - oprócz tego, że posiada łatwo rozpoznawalne GUI, posiada również tzw. port ARexxa oraz - co może zdziwić - argumenty linii poleceń CLI. I właśnie te zagadnienia wzbudziły moje zainteresowanie już jakiś czas temu.

Argumenty YAM-a

Uruchamiamy program z poziomu konsoli CLI, tradycyjnie ze znakiem zapytania, po czym YAM grzecznie wyświetla listę dostępnych poleceń:

Sekrety YAM-a Jak widać, do dyspozycji mamy następujące polecenia: USER/K, PASSWORD/K, MAILDIR/K, PREFSFILE/K, NOCHECK/S, HIDE/S, DEBUG/S, MAILTO/K, SUBJECT/K, LETTER/K, ATTACH/M, NOIMGWARNING/S, NOCATALOG/S, NOSPLASHWINDOW/S. Są to opcje startowe YAM-a, które mogą być wykorzystane z poziomu Shella, w skryptach AmigaDOS, ale także jako narzędzia (tooltypy) w ikonce YAM-a. I tak:

USER=<użytkownik> - uruchamia aktywnego użytkownika. W ten sposób pominięta zostaje procedura logowania w przypadku wielu kont użytkowników w programie.

PASSWORD=<hasło> - hasło dla wybranego użytkownika. Pozwala na pominięcie pytania o hasło przy starcie. Wrażliwe na wielkość liter.

MAILDIR=<ścieżka> - ustawia katalog główny dla danego użytkownika.

PREFSFILE=<nazwa> - nazwa pliku z ustawieniami. Z założenia jest to <MAILDIR>/.config

NOCHECK - uruchamia YAM-a bez wymiany korespondencji przy starcie.

HIDE - uruchamia YAM bez otwierania jego ekranu.

DEBUG - pokazuje w okienku CLI dane wymieniane pomiędzy YAM-em i serwerem poczty. Przydatna w razie problemów z połączeniem z serwerem poczty.

MAILTO=<odbiorca> - tworzy nową wiadomość dla danego odbiorcy przy starcie YAM-a. Jako odbiorcę można wpisać nie tylko adres e-mail, ale także imię użyte w książce adresowej YAM-a. Można wpisać wielu odbiorców oddzielonych przecinkami.

SUBJECT=<temat> - pozwala na ustawienie tematu wiadomości (w połączeniu z MAILTO)

LETTER=<nazwa> - plik tekstowy, który chcemy wysłać (w połączeniu z MAILTO).

ATTACH=<nazwa> - załącznik do wiadomości (w połączeniu z MAILTO).

Kilka przykładów do wykorzystania w okienku Shella:

YAM USER Irena PASSWORD afrodyta HIDE

albo

YAM NOCHECK MAILTO "redakcja@ppa.pl, yamm@freelists.org, Recedent" SUBJECT "Raport z błędem" ATTACH "ram:raport.txt"

albo po prostu:

YAM HIDE

Ten ostatni przykład wykorzystuję osobiście do startu YAM-a wraz z systemem. YAM uruchamia się "bezobjawowo", a swoje działanie sygnalizuje tylko poprzez ikonkę stanu poczty.

Wyżej opisane polecenia CLI YAM-a można wykorzystać w różnego rodzaju skryptach, podpinanych do guzików czy to zwykłego menu - czy też kontekstowego. Polecam eksperymenty celem bliższego poznania YAM-a od tej strony.

Jak zapewne zauważyliście, YAM posiada jeszcze trzy inne polecenia: NOIMGWARNING, NOCATALOG, NOSPLASHWINDOW. Nie są one opisane w podręczniku guide YAM-a. Proponuję więc pobawić się w samodzielne testy celem odnalezienia ich użyteczności.

Sekrety YAM-a Port ARexxa

Druga, jeszcze silniejsza niż DOS-owa strona YAM-a, to jego port ARexxa. Do dyspozycji jest cała masa różnych poleceń, poniżej uporządkowane wg zadań, do jakich są przeznaczone:

Polecenia związane z MUI (GUI): HELP, HIDE, INFO, QUIT, SCREENTOBACK, SCREENTOFRONT, SHOW

Obsługa książki adresowej: ADDRDELETE, ADDREDIT, ADDRFIND, ADDRGOTO, ADDRINFO, ADDRLOAD, ADDRNEW, ADDRRESOLVE, ADDRSAVE

Operacje na katalogach: FOLDERINFO, GETFOLDERINFO, MAILFILTER, MAILUPDATE, NEWMAILFILE,

Obsługa GUI: APPBUSY, APPNOBUSY, READCLOSE

Wybór wiadomości/katalogów: GETSELECTED, LISTSELECT, SETFOLDER, SETMAIL, SETMAILFILE

Manipulacja wiadomościami: GETMAILINFO, MAILARCHIVE, MAILBOUNCE, MAILCHANGESUBJECT, MAILCOPY, MAILDELETE, MAILEDIT, MAILEXPORT, MAILIMPORT, MAILINFO, MAILMOVE, MAILREAD, MAILREPLY, MAILSTATUS, READINFO, READPRINT, READSAVE, SETFLAG

Obsługa sieci: GETURL, ISONLINE, MAILCHECK, MAILSEND, MAILSENDALL

Interakcje z użytkownikiem: GETCONFIGINFO, REQUEST, REQUESTFOLDER, REQUESTSTRING, USERINFO

Tworzenie nowych wiadomości e-mail: MAILFORWARD, MAILWRITE, WRITEATTACH, WRITEBCC, WRITECC, WRITEEDITOR, WRITEFROM, WRITELETTER, WRITEMAILTO, WRITEOPTIONS, WRITEQUEUE, WRITEREPLYTO, WRITESEND, WRITESUBJECT, WRITETO

Opis tych funkcji wykracza zdecydowanie poza rozmiar artykułu, więc dam proste przykłady wykorzystania tylko kilku z nich.

Ciekawą funkcja jest GETURL. Pozwala ona bowiem na nic innego jak pobieranie plików z sieci na dysk za pomocą protokołu http. Przykład użycia polecenia GETURL w skrypcie ARexxa:

GETURL 'http://www.yam.ch/files/YAM22.lha' 'ram:YAM22.lha'

Przykładowy plik o nazwie YAM22.lha zostanie pobrany przez YAM-a, po czym zapisany w katalogu RAM:. Myśląc o praktycznym zastosowaniu tej funkcji, przychodzą mi do głowy pliki/archiwa o dużej objętości jak np. filmiki na YouTube czy pliki muzyczne. Wystarczy podać adres do pliku i miejsce zapisu na dysku jako argumenty funkcji GETURL, a plik zostanie odpowiednio pobrany i zapisany w miejsce docelowe.

Inna przykładowa funkcja to MAILCHECK, która po prostu odbiera pocztę w ten sam sposób, jak wciśnięcie guzika "Pobierz (Get)", tyle że robi to w tle, bez uruchamiania GUI YAM-a.

W Magellanie, którego wykorzystuję jako zamiennik Workbencha, mam w StartMenu "wpięty" guzik jak niżej:

Function: AmigaDOS run >NIL SAY -a polski -s225 Sprawdzam pocztę! 
          AmigaDOS rx "address YAM 'Mailcheck'"

Dodatkowo powyższy skrypt podpiąłem pod guziki klawiatury. Jednoczesne wciśnięcie kombinacji "control" i "m" (w moim przypadku) wymusza na YAM-ie sprawdzenie poczty "w tle".

Oczywiście w sieci jest sporo skryptów ARexxa napisanych pod kątem YAM-a. Polecam przejrzenie zasobów Aminetu w celu znalezienia jakiejś, być może, "perełki". Ciekawy wydaje mi się pomysł, np. napisania skryptu ARexxa podsyłającego do YAM-a teksty pisane w zewnętrznym edytorze - wszystko w celu zautomatyzowanej wysyłki pod zadany adres. Podpinamy taki skrypt pod menu np. CED-a. Cokolwiek napiszemy w edytorze, po wciśnięciu guzika w jego menu, po prostu automatycznie zostanie wysłane do odbiorcy bez otwierania GUI YAM-a. Takie małe czary-mary.

Dokładniejsze objaśnienia poleceń ARexxa w YAM-ie można znaleźć w pliku YAM_english.guide, zawartym w archiwum z programem. Adres strony domowej programu YAM to: http://www.yam.ch, tam też należy szukać aktualizacji programu.

Życzę ciekawych eksperymentów ze skryptami i poleceniami tak ARexxa, jak i CLI YAM-a. Jak widać, nawet taki (dziarski) staruszek jak YAM ciągle jeszcze pozytywnie zaskakuje.

Artykuł oryginalnie pojawił się w piątym numerze Polskiego Pisma Amigowego.

    tagi: YAM, program pocztowy, ARexx
dodaj komentarz
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem