|
Aby móc odbierać i wysyłać pocztę elektroniczną poprzez wykorzystanie obiektu CDONTS należy zainstalować na serwerze WWW usługę SMTP z pakietu Option Pack dla Windows NT 4.0 Server oraz MS Exchange Server. 1. Wysyłanie poczty elektronicznej. Przykładowy prosty program wysyłający e-maila wygląda następująco: Kod: asp
<% @LANGUAGE = VBScript %> Linie 1-4 są już znane, gdyż zawarte tam komendy były wcześniej omawiane. W linii 5 został stworzony obiekt MojaPoczta. Obiekt NewMail jest częścią CDONTS (Collaboration Data Object for Windows NT Server) i pozwala w prosty sposób wysyłać pocztę ze strony internetowej przy użyciu metody Send. Wygląda to następująco:
Wszystkie parametry są chyba zrozumiałe, może tylko ostatni, tj. Priorytet, który przyjmuje następujące wartości:
Należy zauważyć, że w linii 8 obiekt MojaPoczta został usunięty (zdeaktywowany) poprzez wykonanie komendy: Kod: asp
Set MojaPoczta = Nothing Powodem tego jest fakt, iż obiekt MojaPoczta może być użyty do wysłania tylko jednej wiadomości. Po wysłaniu (metoda Send), automatycznie staje się zupełnie bezużyteczny. Zabezpieczając się przed pojawieniem się jakichkolwiek błędów, powinno się ustawiać wartość takiego obiektu na wartość Nothing, czyli zwolnić jego zasoby na serwerze. Komenda: Kod: asp
MojaPoczta.Send Adres_OdKogo, Adres_DoKogo, Temat, Treść, Priorytet może przyjąć także inną postać: Kod: asp
MojaPoczta.From Aders_OdKogo Oprócz wyżej wymienionych metod obiekt MojaPoczta może mieć jeszcze następujące:
W celu lepszego zrozumienia poniżej został przedstawiony trochę bardziej rozbudowany przykład: Kod: asp
<% @LANGUAGE = VBScript %> htmlText = "<!DOCTYPE HTML PUBLIC "" -//W3C//DTD HTML 4.0 Transitional//EN"">" wsOsoby = Array("uzytkownik1@domena.pl", "uzytkownik2@domena.pl") objPoczta.From = "webmaster@domena.pl" objPoczta.Body = htmlText objPoczta.Send Myślę, że nie trzeba omawiać tego programu, gdyż wcześniej wszystkie komendy były już omawiane, może poza funkcją join(tablica, ciągOdzielający), która w przykładzie wygląda następująco: Kod: asp
Join(wsOsoby, ";") i zwraca łańcuch zawierający wszystkie elementy tablicy wsOsoby oddzielone znakiem średnika (;). 2. Odbieranie poczty elektronicznej. W celu odebrania poczty elektronicznej na stronie WWW należy posłużyć się obiektem Session z CDONTS. Korzystając z CDONTS można bezpośrednio utworzyć tylko dwa obiekty, tj. NewMail oraz Session. Obiekt NewMail został już omówiony podczas wysyłania poczty. Teraz omówiony zostanie obiekt Session. Poniżej znajduje się program, który przedstawia sposób odbierania poczty poprzez stronę WWW, dla przykładu niech będzie to poczta użytkownika webmaster: Kod: asp
<% @LANGUAGE = VBScript %> wiadId = Trim(Request.QueryString("WiadId")) Powyższa strona (przykład) umożliwia wyświetlenie poczty przychodzącej w formie listy oraz wyświetlenie zawartości zaznaczonej (wybranej z listy) wiadomości. Poczta należy do użytkownika webmaster, lecz zanim będzie można ją odebrać, trzeba się zalogować. Jest to zrobione następująco: Kod: asp
Set cdoSesja = Server.CreateObject("CDONTS.Session") Należy zauważyć, że jest to rozwiązanie mało bezpieczne, dlatego też jest możliwe do zrealizowania tylko lokalnie. Następnym krokiem jest otwarcie folderu Inbox oraz pobranie zbioru Messages (wiadomości): Kod: asp
Set poczta = cdoSesja.Inbox Ponieważ oba elementy są obiektami, należy użyć komendy Set w celu przypisania ich do zmiennych lokalnych. Teraz należałoby pobrać wszystkie wiadomości znajdujące się w skrzynce (Inbox) użytkownika webmaster. W pierwszej części jest pobierana i wyświetlana lista wszystkich wiadomości (linie 17-25). Warunkiem wykonania tej operacji jest brak wartości parametru wiadId (linia 16), czyli nie została wybrana żadna konkretna wiadomość. Zmienna wiadId w naszym przykładzie jest identyfikatorem wybranej wiadomości. Do odebrania informacji na temat wszystkich wiadomości użyta została pętla For … Each. W pętli generowane są odsyłacze zawierające temat wiadomości i jego nadawcę. W momencie kliknięcia na odsyłaczu, warunek w instrukcji If (linia 17) przyjmie wartość FALSE i zostaną wykonane rozkazy w liniach 27-30, które spowodują wyświetlenie wybranej wiadomości z większą ilością szczegółów, tj. temat, nadawca, treść wiadomości. Linia: Kod: asp
Set wiadomosc = wiadomosci(wiadId) tworzy obiekt odnoszący się do jednej tylko wiadomości (wybranej wiadomości). W linii 32, tj: Kod: asp
cdoSesja.Logoff następuje wylogowanie się z usługi SMTP i zakończenie obsługi poczty przychodzącej. Autor: Krzysztof Stelmach
Skomentuj
|
|||||||||||||||||||||||




