Rozdział 14
Usługi pocztowe TCP/IP w sieciach
Microsoft
Programy pocztowe są najczęściej wykorzystywanymi aplikacjami
w Internecie. Tradycyjnie usługi pocztowe zapewniały komputery UNIX,
ale mogą je także świadczyć komputery Windows NT. W sieci opartej
wyłącznie na oprogramowaniu firmy Microsoft użycie serwerów Win-
dows NT jest korzystniejsze, ponieważ administratorzy posiadają dobrą
znajomość systemu.
Istnieje kilka protokołów dla usług pocztowych, z których najczęściej
używanym jest SMTP (Simple Mail Transfer Protocol). Ze względu na dużą
liczbę mobilnych użytkowników i
stacji roboczych obecnych
w Internecie, opracowano także protokoły wspomagające, np. POP3 (Post
Office Protocol version 3) lub IMAP4 (Internet Message Access Protocol ver-
sion 4).
W wielu sieciach Microsoft wykorzystuje się Microsoft Exchange jako
wewnętrzną aplikację usług pocztowych. Używa ona własnego protokołu
pocztowego, ale posiada możliwość stworzenia bramki dla poczty inter-
netowej. Bramki pocztowe, konwertujące wiadomości z niestandar-
dowego formatu na internetowy format SMTP, są nazywane bramkami
SMPT.
Protokół SMTP
SMTP (Simple Mail Transfer Protocol) umożliwia przesyłanie wiadomości
tekstowych w formacie ASCII do hostów TCP/IP, na których pracują
usługi pocztowe. Rysunek 14.1 przedstawia sesję przesyłania poczty ko-
rzystającą z protokołu SMTP. Użytkownik chcący wysłać pocztę korzysta
z lokalnego systemu pocztowego poprzez agenta użytkownika (User
Agent, UA), będącego komponentem systemu pocztowego. Poczta jest
składowana w lokalnej skrzynce nadawczej. Proces nadawczy SMTP co
pewien czas sprawdza skrzynkę nadawczą; kiedy znajdzie w niej wia-
domość, wówczas ustanawia połączenie z hostem przeznaczenia poprzez
Rozdział 14
448
port TCP o numerze 25. Proces odbiorczy w hoście przeznaczenia akcep-
tuje połączenie, po czym przesyłana jest poczta. Następnie proces odbior-
czy składuje pocztę w skrzynce odbiorczej. Jeśli w hoście przeznaczenia
nie istnieje skrzynka pocztowa o określonej nazwie, do nadawcy wysyła-
ny jest informujący o tym komunikat. Procesy nadawczy i odbiorczy,
odpowiedzialne za przesłanie poczty, nazywane są agentami transferu
poczty (Mail Transfer Agent, MTA).
Standard używanych w
SMTP adresów pocztowych zdefiniowano
w RFC 822. Nagłówki pocztowe są często nazywane nagłówkami 822.
Oto przykład adresu SMTP:
KSS@
SHIVA
.COM
Łańcuch tekstowy przed znakiem "@" oznacza nazwę skrzynki poczto-
wej, a łańcuch za znakiem oznacza nazwę hosta. Jeśli nazwa skrzynki
pocztowej zawiera znaki specjalne, np. "%", wówczas nazwa skrzynki
pocztowej jest zakodowana w sposób używany przez bramki pocztowe.
W adresie KSS@SHIVA.COM, łańcuch KSS jest nazwą skrzynki poczto-
wej na hoście SHIVA.COM.
Rysunek 14.1
Sesja użytkownika
SMTP
Jeśli konieczne jest przesłanie wiadomości innej niż tekstowa, wówczas
można zakodować ją jako tekst przy pomocy dostępnego w wielu syste-
mach programu UUENCODE. Odbiorca będzie musiał zdekodować wia-
domość programem UUDECODE. Inną możliwością przesyłania takich
wiadomości jest protokół MIME (Multipurpose Internet Mail Extensions),
opisany w dokumentach RFC 1896, 2045, 2046 oraz 2049. MIME używany
Usługi pocztowe TCP/IP w sieciach Microsoft
449
jest do opisu różnych typów zawartości wiadomości pocztowych, jak np.
czysty tekst, tekst formatowany, rysunek, dźwięk, wideo, dokument
HTML itp. (patrz rysunek 14.2).
Rysunek 14.2
Wiadomość MIME
Wiadomości MIME mogą mieć zagnieżdżoną zawartość, a agenci użyt-
kownika MIME mogą wybrać pomiędzy alternatywnymi reprezentacjami
treści wiadomości. Jeśli np. terminal nie ma możliwości wyświetlenia
grafiki czy wydawania dźwięku, może wyświetlić tekstową część wia-
domości. Inną przydatną cechą MIME jest możliwość używania odnośni-
ków do danych znajdujących się w innych miejscach, np. dokumentów na
serwerach FTP. Dzięki temu nie trzeba dołączać dokumentu do każdej
wiadomości wysyłanej na listę dyskusyjną; dokument pobiorą z serwera
FTP tylko zainteresowani użytkownicy.
Wiadomości pocztowe są wysyłane przy pomocy poleceń SMTP. W tabe-
lach 14.1 i 14.2 przedstawiono polecenia nadawcy i odbiorcy SMTP, które
muszą być obecne w minimalnej implementacji. Wszystkie polecenia
SMTP są czteroliterowe. Odbiorca SMTP jest zazwyczaj serwerem pocz-
towym i odpowiada na polecenia SMTP trzycyfrowym kodem, po któ-
rym może nastąpić wiadomość tekstowa:
DDD Wiadomość tekstowa
DDD
oznacza trzycyfrowy kod odpowiedzi.
Rysunek 14.3 przedstawia sesję SMTP, podczas której wykorzystywane
są niektóre z poleceń. W przykładzie tym pocztę wysyła użytkownik
kss@scs.psi.com, co określa polecenie MAIL.
Rozdział 14
450
Poczta jest wysyłana do skrzynek jones@scs.psi.com oraz bob@ltree.
psi.com. Ponieważ skrzynka bob@ltree.psi.com nie istnieje, do nadawcy
zwracany jest kod błędu (550), który informuje, że nie ma takiego użyt-
kownika. Na wszystkie inne polecenie serwer odpowiada kodem 250 OK.
Dokumenty opisujące standard SMTP wymienia tabela 14.3.
Tabela 14.1 Polecenia nadawcy (klienta) SMTP w minimalnej implementacji
Polecenie Znaczenia
HELO nadawca
Prośba nadawcy SMTP o otwarcie połączenia.
MAIL FROM: adres_nadawcy Polecenie to zapoczątkowuje transakcję pocztową,
w wyniku której poczta dostarczana jest do jednej lub
wielu skrzynek.
RCPT TO: adres_odbiorcy
Polecenie to identyfikuje indywidualnego odbiorcę
poczty. Dla odbiorców zbiorowych trzeba wielokrotnie
użyć tego polecenia.
DATA
Odbiorca traktuje linie następujące po tym poleceniu
jako treść wiadomości pocztowej. Koniec danych
oznacza linia zawierająca pojedynczą kropkę, czyli
sekwencja znaków <CRLF>.<CRLF>.
QUIT
Odbiorca powinien wysłać odpowiedź 250 OK
i zamknąć połączenie.
RSET Nakazuje
przerwać bieżącą transakcję pocztową.
NOOP
Nic nie robi; odbiorca powinien odpowiedzieć 250 OK.
Używane jako test diagnostyczny.
Tabela 14.2 Przykładowe odpowiedzi odbiorcy (serwera pocztowego)
Odpowiedź Znaczenie
250
Poprawnie zakończono zlecone zadanie.
251
Adresat nie jest lokalnym użytkownikiem; przekazuję
pocztę do <ścieżka-docelowa>
450
Zlecone zadanie nie zostało wykonane: skrzynka
nieosiągalna; np. skrzynka jest zajęta.
550
Zlecone zadanie nie zostało wykonane: skrzynka
nieosiągalna
451
Przerwano wykonywanie zleconego zadania: błąd
w przetwarzaniu
551
Adresat nie jest lokalnym użytkownikiem; proszę
spróbować <ścieżki-docelowej>
452
Zlecone zadanie nie zostało wykonane: niewystarczające
zasoby systemowe
552
Zlecone zadanie nie zostało wykonane: przekroczono
zasoby przeznaczone na składowanie danych
Usługi pocztowe TCP/IP w sieciach Microsoft
451
Odpowiedź Znaczenie
553
Zlecone zadanie nie zostało wykonane: niedozwolona
nazwa skrzynki; np. zła składnia nazwy skrzynki
354 Rozpocząć przesyłanie poczty; zakończyć sekwencją
<CTRL>.<CTRL>.
554 Nieudana
transakcja.
521 Nadesłana poczta nie została przyjęta.
N: HELO nazwahosta
O: HELO nazwahosta. Pleased to meet you.
N: MAIL FROM: kss@scs.psi.com
O: 250 OK
N: RCPT TO: jones@scs.psi.com
O: 250 OK
N: RCPT TO: bob@ltree.psi.com } Użytkownik bob nie posiada
O: 550 No such user here } skrzynki na serwerze ltree.psi.com
N: RCPT TO: john@ltree.psi.com
O: 250 OK
N: DATA
O: 354 Start mail input; end with <CRLF>.<CRLF>
N: tekst wiadomości
N: tekst wiadomości
N: tekst wiadomości itd...
N: <CRLF>.<CRLF>
O: 250 OK
N: nadawca SMTP
O: odbiorca SMTP
Rozdział 14
452
Rysunek 14.3
Przykładowa sesja SMTP
Tabela 14.3 Dokumenty RFC opisujące standard SMTP
Protokół Nazwa
Status Dokument
RFC
Dokument
STD
SMTP
Simple Mail Transfer Protocol
Zalecany 821
10
SMTP-SIZE SMTP Service Extensions for Message
Size
Zalecany 1870
10
SMTP-EXT SMTP Service Extensions
Zalecany 1869
10
Format of Electronic Mail Messages
Zalecany 822
11
Protokół POP3
Protokół SMTP spodziewa się, że host przeznaczenia - serwer pocztowy -
będzie podłączony do sieci. W innym przypadku niemożliwe byłoby
nawiązanie z nim połączenia TCP. Z tego względu niepraktyczne jest
wysyłanie poczty do stacji roboczej, która z reguły jest wyłączana pod
koniec dnia pracy.
W większości środowisk sieciowych pocztę SMTP odbiera host, który
zawsze jest aktywny (patrz rysunek 14.4). Przechowuje on pocztę dla
całej sieci. Stacje robocze kontaktują się z hostem SMTP i odbierają prze-
znaczone dla nich wiadomości przy użyciu protokołu pocztowego typu
klient-serwer, np. opisanego w RFC 1939 POP3 (Post Office Protocol Ver-
Usługi pocztowe TCP/IP w sieciach Microsoft
453
sion 3). POP3 wykorzystuje TCP jako protokół transportowy; serwer
POP3 oczekuje na zgłoszenia pod numerem portu 110.
Należy zauważyć, że chociaż do pobierania wiadomości z serwera pocz-
towego służy POP3, to użytkownicy stacji roboczych nadal korzystają
z SMTP podczas wysyłania wiadomości do swojego serwera pocztowego.
Tabele 14.4, 14.5 i 14.6 wymieniają polecenia i odpowiedzi POP3 zdefi-
niowane w RFC 1939. Chociaż polecenia USER i PASS (patrz tabel 14.5)
są określone przez RFC 1939 jako opcjonalne, większość implementacji
POP3 je obsługuje. Polecenia USER i PASS są opcjonalne, ponieważ moż-
na je zastąpić metodą uwierzytelniania MD5 (Message Digest 5), używaną
przez polecenie APOP.
Rysunek 14.5 przedstawia przykładową sesję pomiędzy klientem
i serwerem POP3, z użyciem niektórych poleceń wymienionych w tabe-
lach 14.4 - 14.6.
Sesja POP3 rozpoczyna się od stanu łączenia, w którym ustanawiane jest
połączenie TCP z serwerem POP3. Następnie sesja wchodzi w stan auto-
ryzacji, w którym serwer POP3 uwierzytelnia użytkownika na podstawie
podanej nazwy i hasła.
Rysunek 14.4
Klient i serwer POP3
Rozdział 14
454
Tabela 14.4 Wymagane polecenia POP3
Polecenie Opis
STAT Polecenie
powoduje wysłanie odpowiedzi składającej się z +OK,
pojedynczej spacji, liczby przechowywanych wiadomości,
pojedynczej spacji, i liczby oktetów we wszystkich wiadomościach.
Przykładowa odpowiedź:
+OK liczba rozmiar
LIST [nr]
Kiedy podany zostanie numer wiadomości, polecenie zwraca
numer i rozmiar wiadomości. W przeciwnym razie zwracana jest
pozytywna odpowiedź, a następnie wysyłane są linie zawierające
kolejne numery i rozmiary wiadomości oczekujących w skrzynce
odbiorczej.
RETR nr
Pobiera wiadomość oczekującą w skrzynce odbiorczej na serwerze
POP3. Serwer POP3 zwraca najpierw odpowiedź +OK, a następnie
wysyła kolejne linie, stanowiące treść wiadomości o określonym
numerze. Jeśli nie ma wiadomości o określonym numerze,
zwracana jest odpowiedź -ERR.
DELE nr
Zaznacza określoną wiadomość do usunięcia.
NOOP
Nie robi nic. Serwer POP3 zwraca tylko pozytywną odpowiedź:
+OK. Przy pomocy tego polecenia można sprawdzić, czy
połączenie POP3 funkcjonuje poprawnie.
RSET Odzyskuje
wiadomości zaznaczone do usunięcia przez serwer
POP3. Serwer zwraca pozytywną odpowiedź: +OK, np.:
+OK maildrop has 3 messages (430 octets)
QUIT
Serwer POP3 usuwa ze skrzynki pocztowej wszystkie wiadomości
zaznaczone do usunięcia i zwraca informację o wykonaniu tej
czynności: +OK albo -ERR. Serwer POP3 zwalnia wyłączną
blokadę na skrzynce pocztowej i zamyka połączenie TCP.
Po uwierzytelnieniu użytkownika sesja POP3 wchodzi w stan transakcji.
Można w nim wydawać takie polecenia, jak STAT, LIST, RETR, DELE,
RSET
itp. W przykładzie z rysunku 14.5, klient POP3 wydaje polecenie
STAT
, a serwer zwraca liczbę oczekujących wiadomości i ich łączny roz-
miar (1729 oktetów). Następnie klient używa polecenia LIST, aby otrzy-
mać listę wszystkich wiadomości. Serwer zwraca numery i rozmiary
poszczególnych wiadomości. Następnie klient wydaje polecenie RETR,
określające numer (identyfikator) wiadomości, którą chce pobrać.
W zależności od konfiguracji, klient może następnie wydać polecenie
DELE, aby usunąć pobraną wiadomość ze skrzynki.
Usługi pocztowe TCP/IP w sieciach Microsoft
455
Uwierzytelnianie w POP3
We wcześniejszych implementacjach POP3, informacje uwierzytelniające (nazwa
użytkownika i hasło) są przesyłane w postaci czytelnego tekstu. Ktoś śledzący
ruch pakietów POP3 może z łatwością odkryć właściwą kombinację nazwy
i hasła. W POP3, jak podaje RFC 1939, można używać bezpieczniejszej metody
uwierzytelniania, opartej na MD5.
Tabela 14.5 Opcjonalne polecenia POP3
Polecenie Opis
USER nazwa
Określa nazwę skrzynki pocztowej.
PASS hasło Określa hasło użytkownika, odnoszące się do skrzynki
pocztowej lub serwera.
TOP nr n
Serwer POP3 zwraca pozytywną odpowiedź +OK, następnie
nagłówki określone przez nr wiadomości, następnie pustą
linię, następnie n linii wiadomości. Jeśli podana przez klienta
liczba linii przekracza liczbę linii w wiadomości, serwer
POP3 przesyła całą wiadomość.
UIDL [nr]
Zwraca unikalny identyfikator dla określonej wiadomości.
Serwer POP3 zwraca odpowiedź +OK i linię zawierającą
unikalny identyfikator wiadomości. Jeśli nie podano żadnych
argumentów, wówczas serwer zwraca odpowiedź +OK
a następnie kolejne linie dla każdej spośród wiadomości
oczekujących w skrzynce odbiorczej, zawierające numer,
następnie pojedynczą spację, następnie unikalny identyfikator
wiadomości.
APOP nazwa digest
nazwa identyfikuje skrzynkę pocztową, a digest jest
łańcuchem MD5 (Message Digest 5). Używane jako
alternatywa dla poleceń USER/PASS, przesyłających nazwę
i hasło w postaci czytelnego tekstu. Metoda uwierzytelniania
używana przez APOP umożliwia weryfikację źródła
wiadomości; co ważniejsze, hasło nie jest przesyłane przez
sieć w czytelnej postaci.
Tabela 14.6 Odpowiedzi serwera POP3
Odpowiedź Opis
+OK Polecenie
wykonano
poprawnie.
-ERR
Podczas wykonywania polecenia nastąpił błąd.
Po pobraniu wiadomości sesja POP3 wchodzi w stan uaktualniania.
Klient wysyła polecenie QUIT, aby zamknąć połączenie. Klient i serwer
POP3 mogą teraz zmodyfikować wewnętrzne informacje tak, aby od-
zwierciedlały nową liczbę wiadomości w odpowiednich skrzynkach
pocztowych. Połączenie TCP jest następnie zamykane.
Rozdział 14
456
Rysunek 14.5
Przykładowa sesja POP3.
Protokół IMAP4
Chociaż POP3 jest z powodzeniem używany przez stacje robocze do po-
bierania wiadomości z serwera, ma on pewne wady - np. w celu wyko-
nania różnych operacji na poczcie trzeba ją najpierw ściągnąć z serwera;
POP3 nie pozwala na bezpośrednie operowanie wiadomościami na ser-
werze. Z tego względu zaproponowano zastąpienie POP3 przez protokół
IMAP4.
IMAP4 (Internet Message Access Protocol, Rev 4) jest protokołem typu
klient-serwer, pozwalającym na dostęp do wiadomości pocztowych na
serwerze i manipulowanie nimi. Protokół umożliwia przeprowadzanie
operacji na zdalnych folderach wiadomości w sposób zbliżony do obsługi
lokalnych skrzynek pocztowych. IMAP4 pozwala także klientom na
zsynchronizowanie lokalnych skrzynek pocztowych ze skrzynkami na
serwerze.
Możliwości klienta IMPA obejmują:
Operowanie wiadomościami e-mail bez pobierania ich z serwera
Przeglądanie wiadomości i załącznika bez pobierania ich z serwera
Usługi pocztowe TCP/IP w sieciach Microsoft
457
Pobranie wszystkich wiadomości w celu ich dalszej obróbki w trybie
off-line
Synchronizowanie lokalnych skrzynek pocztowych ze skrzynkami na
serwerze
Protokół IMAP4 udostępnia następujące możliwości:
Tworzenie, usuwanie i zmienianie nazw skrzynek pocztowych
Sprawdzanie, czy nadeszły nowe wiadomości
Usuwanie na stałe wiadomości ze skrzynek pocztowych
Ustawianie i zerowanie znaczników określających status wiadomości
Rozpoznawanie nagłówków RFC-822 i przetwarzanie wiadomości
w formacie MIME.
Poszukiwanie i wybiórcze dostarczanie wiadomości (lub ich części)
o określonych atrybutach lub zawierających określony tekst.
W protokole IMAP4 dostęp do wiadomości uzyskuje się poprzez jej nu-
mer. Numery te są albo numerami kolejnymi wiadomości w skrzynce,
albo unikalnymi identyfikatorami. Protokół umożliwia korzystanie
z pojedynczego serwera, choć rozważane są rozszerzenia, które pozwoli-
łyby na korzystanie z wielu serwerów IMAP4 jednocześnie.
Podobnie jak POP3, IMPA4 nie określa sposobu wysyłania poczty; funk-
cję tę pełni protokół transferu poczty, np. SMTP. Rysunek 14.6 pokazuje
komunikację pomiędzy serwerem i klientem IMAP4.
Rozdział 14
458
Rysunek 14.6
Klient i serwer
IMAP4
Sposób działania IMAP4 można przedstawić za pomocą diagramu zmia-
ny stanów (patrz rysunek 14.7). Jak widać na rysunku, sesja IMAP4 może
znajdować się w jednym z czterech stanów. Większość poleceń IMAP4
można stosować tylko w konkretnym stanie; jeśli klient wyda polecenie
znajdując się w niewłaściwym stanie, wówczas generowany jest komuni-
kat o błędzie. Można wyróżnić następujące stany sesji IMAP4:
Stan nieuwierzytelniony. Klient IMAP4 musi dostarczyć informacji
uwierzytelniających. Nie można wykonać większości poleceń, zanim
klient nie zostanie uwierzytelniony. Sesja IMAP4 wchodzi w ten stan
po otwarciu połączenia, o ile nie jest ono wstępnie uwierzytelnione.
Stan uwierzytelniony. Klient został uwierzytelniony i musi wybrać
skrzynkę pocztową, zanim dozwolone będą polecenia mające wpływ
na wiadomości. Sesja wchodzi w ten stan, gdy otwierane jest wstępnie
uwierzytelnione połączenie, albo kiedy klient dostarczy odpowied-
nich informacji uwierzytelniających. Jeśli podczas wybierania skrzyn-
ki pocztowej nastąpi błąd, wówczas sesja ponownie wchodzi w stan
uwierzytelniony, aby można było wybrać inną skrzynkę.
Stan po wybraniu skrzynki. Sesja wchodzi w ten stan, gdy zostanie
wybrana poprawna skrzynka pocztowa.
Usługi pocztowe TCP/IP w sieciach Microsoft
459
Rysunek 14.7
Diagram stanu sesji
IMAP4
Stan wylogowania. W stanie tym sesja kończy się, a serwer IMAP4
zamyka połączenie. Sesja może wejść w ten stan na skutek polecenia
klienta lub decyzji serwera.
IMAP4 cieszy się dużym zainteresowaniem ze strony producentów sys-
temów komunikacyjnych. Tabela 14.7 wymienia dokumenty RFC mające
związek z IMAP4.
Implementacja usług pocztowych w Windows NT
Implementacja usług pocztowych dla Windows NT zawarta jest
w pakiecie Microsoft Resource Kit for Windows NT. W momencie pisania
tej książki można było przetestować tylko wersję dla serwera Windows
NT 4; nie wydano jeszcze Microsoft Resource Kit for Windows NT 5, ale
wersja dla Windows NT 4 pracuje bezproblemowo także w Windows NT
5.
Oprócz Microsoft Resource Kit dla Windows NT dostępne są także pro-
gramy innych producentów, np. program pocztowy firmy NetManage.
Rozdział 14
460
Usługi pocztowe w Microsoft Resource Kit for Windows NT
Mechanizmy ochronne Windows NT zapewniają wysoki poziom bezpie-
czeństwa, zarówno dla indywidualnych użytkowników, jak i całych sieci
opartych na tym systemie. Oprogramowanie Microsoft Mail Server po-
zwala jednakże tylko na autoryzację poprzez czytelne hasła - nie
obsługuje polecenia APOP, używającego szyfrowanych haseł. Jeśli
bezpieczeństwo sieci ma priorytetowe znaczenie, administratorzy
powinni zachować ostrożność podczas korzystania z Microsoft Mail
Server.
Kolejne podrozdziały omawiają możliwości pocztowych komponentów
Microsoft Resource Kit.
Tabela 14.7 Dokumenty RFC mające związek z IMAP4
Dokument RFC
Status
Tytuł
2095
PS
IMAP/POP AUTHorize Extension for Simple
Challenge/Response
2088
PS
IMAP4 non-synchronizing literals
2087
PS
IMAP4 QUOTA extension
2086
PS
IMAP4 ACL extension
2061
I
IMAP4 COMPATIBILITY WITH IMAP2BIS
2060
PS
INTERNET MESSAGE ACCESS PROTOCOL –
VERSION 4rev1
1733
I
DISTRIBUTED ELECTRONIC MAIL MODELS IN
IMAP4
1732
I
IMAP4 COMPATIBILITY WITH IMAP2 AND
IMAP2BIS
1731
PS
IMAP4 Authentication mechanisms
Omówienie usług pocztowych w Microsoft Resource Kit for
Windows NT
Program serwera pocztowego, mailsrv.exe, świadczy usługi SMTP (Sim-
ple Mail Transfer Protocol) oraz POP3 (Post Office Protocol). Obsługuje
klientów poczty internetowej i jest zupełnie niezależny od programu
Microsoft Mail.
Tymczasowe pliki, potrzebne do pracy Mail Server i obsługi skrzynek
pocztowych, przechowywane są na serwerze Windows NT, który
świadczy usługi pocztowe. Można je znaleźć w podkatalogu SPOOL,
umieszczonym w
głównym katalogu Mail Server. Do pobierania
buforowanej poczty można użyć dowolnego programu klienta POP3.
Mail Server automatycznie tworzy folder z odpowiednimi prawami
dostępu, kiedy użytkownik po raz pierwszy otrzyma pocztę, albo kiedy
po raz pierwszy połączy się z serwerem za pomocą klienta POP3.
Usługi pocztowe TCP/IP w sieciach Microsoft
461
Instalowanie usług pocztowych z Microsoft Resource Kit for
Windows NT
Ponieważ Mail Server jest zintegrowany z
lokalną bazą danych
o użytkownikach systemu, musi być zainstalowany na lokalnym dysku
NTFS (Windows NT File System). Instalacja nie powiedzie się, jeśli spróbu-
jemy umieścić katalog SPOOL na dysku sieciowym albo korzystającym
z innego systemu plików niż NTFS.
Wymagania instalacyjne Mail Server są więc następujące:
Katalog SPOOL musi znajdować się na dysku lokalnym
Dysk lokalny musi być sformatowany jako NTFS
System Windows NT musi być zainstalowany na dysku NTFS
Program instalacyjny Mail Server dodaje ikony Mail Server i programów
pomocniczych do grupy Service Controller i uruchamia program Mail
Server.
Poniżej podano procedurę instalacji programu Mail Server z pakietu
Microsoft Resource Kit for Windows NT:
1. Zalogować się na komputer Windows NT jako administrator.
2. Włożyć dysk Resource Kit do napędu CD-ROM. Ukaże się powitalne
okno programu instalacyjnego.
3. Wybrać opcję instalacji Resource Kit.
4. Zaakceptować umowę licencyjną.
5. Wprowadzić nazwisko i nazwę organizacji i potwierdzić wpisane
dane.
6. Kliknąć OK, aby zaakceptować domyślny folder, albo wybrać inny
folder.
7. Wybrać sposób instalacji: Typical instaluje najczęściej używane
składniki, Custom/Specific umożliwia wybór składników do
zainstalowania. Usługi pocztowe są instalowane niezależnie od
wybranej opcji.
8. Jeśli wybrano opcję Custom/Specific, ukaże się lista składników, które
można zainstalować. Należy zaznaczyć przynajmniej Internet
i TCP/IP, a następnie kontynuować instalację.
9. Ukaże się okno obrazujące postępy w kopiowaniu plików, po czym
komunikat oznajmiający zakończenie instalacji.
10. Zamknąć program instalacyjny. Można teraz skonfigurować usługi
pocztowe.
Rozdział 14
462
11. W folderze Programs powinien znajdować się nowy folder o nazwie
Resource Kit.
12. Aby
zainstalować usługi pocztowe, należy wybrać
Programs/Resource Kit/Internet Utils/Install Mail Service.
13. Ukaże się okno, umożliwiające zainstalowanie lub usunięcie składni-
ków usług pocztowych z systemu. Wybrać opcję instalowania.
14. Ukaże się okno, umożliwiające wybranie katalogu, w którym zostaną
umieszczone składniki programu pocztowego. Można zaakceptować
domyślny katalog albo podać własny.
15. Kliknąć OK i w razie potrzeby potwierdzić zamiar utworzenia kata-
logu usług pocztowych.
16. Ponownie uruchomić komputer i zalogować się jako administrator.
17. Sprawdzić, czy usługi serwera SMTP i POP3 pracują. Wybrać w tym
celu Programs/Administrative Tools/System Service Management.
Na rysunku 14.8 widać, że usługi SMTP i POP3 są uruchamiane au-
tomatycznie podczas startu systemu. Należy również dodać do ser-
wera DNS rekordy A (adresu) i MX (wymiennika poczty) dla nowego
serwera pocztowego.
Rysunek 14.8
Usługi SMTP i POP3
pracujące na serwe-
rze Windows NT.
Pracujący program Mail Server rejestruje następujące usługi, którymi
można zarządzać przy pomocy programu System Service Management:
SMTP Server. Odpowiedzialny za odbieranie i wysyłanie poczty
SMTP.
Usługi pocztowe TCP/IP w sieciach Microsoft
463
POP3 Server. Odpowiedzialny za obsługę klientów POP2/POP3.
Local Mail Delivery Agent. Odpowiedzialny za dostarczanie lokalnej
poczty.
Eudora Password Change Server. Odpowiedzialny za obsługę żądań
zmiany hasła z programu Eudora. Domyślnie usługa ta nie działa, po-
nieważ pozwala na zmianę hasła nieszyfrowaną metodą. Aby ją włą-
czyć, należy uruchomić System Service Management i zmienić status
usługi na Enabled.
Mail Server Admin. Narzędzie administracyjne; w obecnej wersji pro-
gramu Mail Server nie jest w pełni funkcjonalne.
Wpisy Rejestru związane z Mail Server
Podczas instalacji Mail Server w Rejestrze tworzone są odpowiednie wpi-
sy. Znajdują się pod kluczem:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MailSrv
Parametry znajdujące się pod tym kluczem (patrz rysunek 14.9) obejmu-
ją:
Mail Directory. Podstawowy katalog w drzewie katalogów poczto-
wych.
Logging Level. Znaczniki określające, jakie informacje należy zapisy-
wać w dzienniku zdarzeń.
SMTP Retry. Określa w sekundach odstęp pomiędzy kolejnymi pró-
bami przesłania na zewnątrz wiadomości SMTP.
Local retry. Określa w sekundach odstęp pomiędzy kolejnymi próba-
mi przesłania lokalnej wiadomości.
SMTP Gateway. Określa bramkę dla wszystkich wiadomości SMTP
(nie używa się tu określania nazw DNS).
Inbound Transforms. Określa reguły przekształcania przychodzących
adresów.
Outbound Transforms. Określa reguły przekształcania wychodzących
adresów.
Aliases. W każdej linii znajduje się pojedynczy alias; wielokrotne alia-
sy mogą być grupowane w listy. Nazwa klucza odpowiada nadcho-
dzącej nazwie, a wartość klucza aliasowi, na który należy ją prze-
kształcić. Podczas instalacji w Rejestrze umieszczane są dwa aliasy:
Postmaster, który jest niezbędny do pracy programu i nie może być
usunięty, oraz MAILER_DAEMON.
Rozdział 14
464
Oprócz tego, pod kluczem:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip
znajdu-
ją się następujące wpisy, używane przez reguły przekształcania:
Domain
. Używany przez znacznik $(Domain) jako nazwa systemowej
domeny.
DhcpDomain
. Używany do ustalenia wartości znacznika $(Domain),
jeśli powyższy wpis jest nieważny. Jeden z tych dwóch wpisów musi
zawierać ważną informację.
Hostname
. Używany przez znacznik $(Me) jako nazwa komputera.
NameServer
. Adresy IP serwerów DNS używanych do określania
nazw.
DhcpNameServer
. Adres IP serwera DNS używanego do określania
nazw.
Rysunek 14.9
Klucze Rejestru
używane przez Mail
Server.
Reguły przekształcania adresów przez Mail Server
Reguły przekształcania stosuje się do adresów przychodzących
i wychodzących z programu Mail Server. Używa się ich głównie po to,
aby właściciele domen mogli zamaskować nazwy komputerów lub na-
zwy poddomen.
Reguły przekształcania są typu REG_MULTI_SZ, zarówno dla adresów
przychodzących, jak i wychodzących. Każda z linii we wpisie MULTI_SZ
jest pojedynczą regułą. Są one kolejno przeszukiwane; po znalezieniu
Usługi pocztowe TCP/IP w sieciach Microsoft
465
pasującej reguły przekształca się według niej adres, przy czym nie
sprawdza się już dalszych reguł. Jeśli żadna z reguł nie pasuje, adres
pozostaje niezmieniony.
Każda z reguł przekształcania ma następujący format:
wzorzec > przekształcony wzorzec
Rozważmy przykładowy wzorzec, który może wystąpić jako część reguły
przekształcania:
$1@$2
Jeśli poddamy regule adres kss@mic.com, wówczas zostanie on rozłożo-
ny następująco:
$1 = kss
$2 = mic.com
Jeśli wzorcem byłby $1@$2.bitnet, a adresem kss@siyan.com, wówczas
adres zostanie rozłożony nastepująco:
$1 = kss
$2 = siyan
Rozważmy teraz następujące przekształcenie:
$1@$2.bitnet > $1%$2.bitnet@bitnetgateway.org
Wspomniany wyżej adres, kss@siyan.com, zostałby rozłożony następują-
co,
$1 = kss
$2 = siyan
natomiast w wyniku przekształcenia otrzymamy:
kss%siyan.bitnet@bitnetgateway.org
Bez symbolu "%", w przekształconym ciągu znalazłyby się dwa znaki
"@", co byłoby błędnym adresem e-mail. Dlatego pierwszy symbol "@"
jest zamieniany na "%".
Oprócz symboli $1 i $2, we wzorcach adresów używa się następujących,
specjalnych znaczników:
$(Me)
-
oznacza:
nazwa_hosta.domena
$(Hostname)
- oznacza: nazwa_hosta
$(Domain)
- oznacza: domena
Mail Server ustawia wartość tych znaczników podczas inicjalizacji, na
podstawie pewnych wpisów Rejestru. Znacznik $(Domain) jest odczyty-
wany z wpisu:
Rozdział 14
466
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\Doma
in
Jeśli wpis ten nie istnieje, wówczas Mail Server próbuje odczytać wartość
$(Domain) z wpisu:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\DhcpDom
ain
Znacznik $(Hostname) jest odczytywany z wpisu:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\Hostn
ame
Jeden z tych wpisów musi być obecny w Rejestrze, bowiem w przeciw-
nym przypadku Mail Server podczas inicjalizacji stwierdzi błąd i nie
uruchomi się. Jeśli wpisy Rejestru nie zawierają poprawnych informacji
dla programu Mail Server, wówczas nie należy używać specjalnych
znaczników w regułach przekształcania.
Kilka dodatkowych przykładów reguł przekształcania pomoże lepiej
zrozumieć ich zastosowanie. Rozważmy sytuację, w której administrator
programu Mail Server chce ustawić takie reguły przekształcania przy-
chodzących adresów, aby program mógł rozpoznać, że kilka różnych
domen odnosi się do tego samego lokalnego komputera:
$1@kinetics.com > $1
$1@siyan.com > $1
Jeśli Mail Server otrzyma pocztę dla kss@kinetics.com, wówczas adres
zostanie przekształcony na kss, a wiadomość skierowana do lokalnego
doręczenia. Wiadomość dla kss@siyan.com również zostanie przekształ-
cona na wiadomość dla kss i skierowana do lokalnego doręczenia. Jeśli
jednak Mail Server otrzyma pocztę dla kss@rama.kinetics.com, wówczas
użyje reguł przekształcania dla adresów wychodzących i skieruje wia-
domość do zdalnego doręczenia - nie znalazłszy pasującej reguły założy,
że poczta jest adresowana do zdalnego komputera.
Jeśli chcemy, aby wszystkie wiadomości adresowane do dowolnego
komputera w domenie kinetics.com były kierowane do lokalnego dorę-
czenia, musimy utworzyć następujące dwa przekształcenia dla przycho-
dzących adresów:
$1@kinetics.com > $1
$1@$2.kinetics.com > $1
Teraz cała poczta przeznaczona dla kinetics.com będzie kierowana do
lokalnego doręczenia. $1 reprezentuje lokalną nazwę konta użytkownika,
natomiast $2 dowolny przedrostek przed nazwą domeny kinetics.com.
W omawianym wyżej przypadku (kss@rama.kinetics.com), $2 zostałoby
Usługi pocztowe TCP/IP w sieciach Microsoft
467
ustawione na "rama", zaś wiadomość e-mail odwzorowana na lokalną
nazwę konta kss i skierowana do lokalnego doręczenia. Jeśli nie istnieje
lokalne konto o nazwie reprezentowanej przez $1, wówczas Mail Server
spróbuje odesłać wiadomość o niemożności doręczenia poczty.
Można osiągnąć ten sam efekt używając specjalnych znaczników. Przy
założeniu, że $(Domain) jest ustawiony na kinetics.com, powyższe reguły
można zapisać następująco:
$1@$(Domain) > $1
$1@$2.$(Domain) > $1
Jeśli $(Domain) ma wartość kinetics.com, wówczas poczta adresowana
do dowolnego komputera w tej domenie będzie kierowana do lokalnego
doręczenia. Aby przekształcenie działało poprawnie, należy upewnić się,
że informacja przechowywana w znaczniku $(Domain) jest prawidłowa.
Rozważmy jeszcze jeden przykład; tym razem będzie to reguła prze-
kształcania dla wychodzących adresów. Przekształcenie takie jest uży-
teczne, jeśli kierowana na zewnątrz poczta powinna mieć inny adres
zwrotny. Oto przykładowe reguły dla adresów wychodzących:
$1@$(Me) > $1@kinetics.com
$1@$(Hostname) > $1@kinetics.com
$1@$2.bitnet > $1%$2.bitnet@bitnetgateway.org
Jeśli adresem zwrotnym jest kss@nts.kinetics.com, wówczas na kompute-
rze nts pasuje pierwsza reguła, gdzie $1 zostanie ustawione na kss,
a $(Me) odpowiada nazwie nts.kinetics.com. Adres zwrotny zostanie
przekształcony na kss@kinetics.com.
Jeśli adresem zwrotnym jest kss@nts, wówczas na komputerze nts pasuje
druga reguła, gdzie $1 zostanie ustawione na kss, a $(Hostname) odpo-
wiada nazwie nts. Adres zwrotny zostanie przekształcony na
kss@kinetics.com.
Jeśli adresem zwrotnym jest kss@siyan.bitnet, wówczas pasuje trzecia
reguła, gdzie $1 zostanie ustawione na kss, a $2 na siyan. Adres zwrotny
zostanie przekształcony na kss%siyan.bitnet@bitnetgateway.org.
Tworzenie kont e-mail w programie Mail Server
Mail Server jest zintegrowany z lokalną bazą danych o kontach użytkow-
ników. Aby utworzyć nowe konto e-mail, trzeba utworzyć lokalne konto
użytkownika przy pomocy programu User Manager. Nie można używać
domenowych kont użytkownika jako kont pocztowych programu Mail
Server; program nie jest w stanie dostarczyć poczty do użytkownika
Rozdział 14
468
o nazwie typu DOMENA\użytkownik1. Konieczne jest utworzenie lo-
kalnego konta o nazwie użytkownik1.
Mail Server utworzy skrzynkę pocztową dla użytkownika, kiedy po raz
pierwszy sprawdzi on lub otrzyma pocztę. Skrzynka będzie odpowied-
nio zabezpieczona: dostęp do niej będzie miał tylko użytkownik.
Klienci poczty internetowej dla systemu Windows
Istnieje wiele programów klienta poczty dla systemów Windows 9x
i Windows NT Workstation, np. Eudora, Zmail, Netscape Navigator lub
Microsoft Mail.
Interfejsy użytkownika i procedury konfiguracji tych programów różnią
się, chociaż wszystkie oferują podobne możliwości. Niezależnie od uży-
wanego oprogramowania w kliencie poczty należy określić następujące
parametry:
Serwer SMTP
Serwer POP3
Serwer IMAP4
Nazwę i hasło użytkownika na serwerze poczty
Serwer SMTP, służący do wysyłania poczty, określa się podając jego na-
zwę lub adres IP. Klienci e-mail używają do wysyłania poczty protokołu
SMTP.
Serwer POP3, służący do składowania nadchodzącej poczty, określa się
podając jego nazwę lub adres IP. Klienci e-mail używają protokołu POP3
do pobierania poczty z serwera. Zazwyczaj ten sam komputer pełni
funkcje serwera SMTP i POP3.
Serwer IMAP4 również określa się podając jego nazwę lub adres IP. Ser-
wer IMAP4 trzeba określić tylko wtedy, jeśli zamierzamy używać proto-
kołu IMAP4, i jeśli klient potrafi go obsługiwać. Np. najnowsze wersje
Zmail i Netscape Communicator obsługują IMAP4.
Nazwa użytkownika i hasło służą do uzyskania dostępu do lokalnego
konta użytkownika na serwerze.
Ustawienia parametrów hasła dla konta pocztowego
Należy upewnić się, że znacznik User Must Change Password at Next Login jest
wyzerowany, kiedy użytkownik konta sprawdza pocztę. W
przeciwnym
wypadku podczas pobierania poczty ze skrzynki nastąpi błąd.