Funkcjonalność poczty elektronicznej SuSE Linux Office Server

Gdy SuSE Linux Office Server jest już skonfigurowany zgodnie z indywidualnymi potrzebami, a wszystkie podstawowe funkcje działają prawidłowo, przychodzi czas na bardziej praktyczne dodatki. Typowym rozszerzeniem serwera biurowego czy domowego jest poczta elektroniczna.

Gdy SuSE Linux Office Server jest już skonfigurowany zgodnie z indywidualnymi potrzebami, a wszystkie podstawowe funkcje działają prawidłowo, przychodzi czas na bardziej praktyczne dodatki. Typowym rozszerzeniem serwera biurowego czy domowego jest poczta elektroniczna.

Opiszemy konfigurację Office Server do wysyłania poczty lokalnych użytkowników oraz pobierania wiadomości z zewnętrznych skrzynek pocztowych, np. u dostawcy usług internetowych lub hostingu.

Dostarczaniem wiadomości zajmie się sendmail - chyba najpopularniejszy serwer pocztowy do systemów linuksowych. W trakcie dostarczania wiadomości sendmail decyduje o tym, w jaki sposób są one dalej rozsyłane - za pomocą Simple Mail Transfer Protocol (SMTP) w sieci TCP/IP lub bezpośrednio do lokalnego folderu poczty użytkownika.

Zapisywanie wiadomości w lokalnych skrzynkach powierzymy programowi procmail, a odbieraniem poczty z zewnętrznych skrzynek zajmie się program fetchmail. Wszystkie trzy są już zainstalowane na SuSE Linux Office Server, można więc od razu przystąpić do właściwej konfiguracji.

Podstawowe wiadomości na temat wiadomości e-mail zawarliśmy w rozdziale 3.1 Przedstawiliśmy w nim budowę oraz sposób wysyłania i odbioru wiadomości. Obecnie zajmiemy się bardziej szczegółowo funkcjonowaniem serwera pocztowego.

Konfiguracja programu sendmail

Główny plik konfiguracyjny sendmail to /etc/sendmail.cf. W przypadku nieskomplikowanej konfiguracji kilku parametrów można posłużyć się narzędziem YaST2 i utworzyć poprawny plik /etc/sendmail.cf.

Odpowiednie opcje znajdziesz w Office Server Control Center, w sekcji Network/Advanced, Sendmail Configuration. W większości przypadków właściwy wybór to Host with temporarily network connection (Modem or ISDN).

Dokonane tu wpisy znajdą się najpierw w pliku /etc/rc.config.d/sendmail.rc.config. Na podstawie znajdujących się tam ustawień narzędzie konfiguracyjne SuSE Linux - SuSEconfig - utworzy, dodatkowo przy użyciu /sbin/conf.d/SuSEconfig.sendmail, plik /etc/sendmail.cf.

Przedstawione poniżej opcje konfiguracji pliku /etc/rc.config.d/sendmail.rc.config dostępne są za pomocą narzędzia YaST2, Zalecamy też zapoznanie się z treścią pliku /etc/mail/README.

Program procmail zapisuje wszystkie wiadomości lokalne w lokalnych katalogach pocztowych użytkowników, tworzonych według schematu /var/spool/mail/<user>. Więcej informacji na temat tego bardzo wszechstronnego programu znajdziesz w podręcznikach procmail i procmailrc. Dostęp do nich uzyskasz, wpisując na konsoli polecenia odpowiednio man procmail oraz man procmailrc.

Kolejne ustawienia serwera pocztowego sendmail zawarte są w plikach /etc/aliases, a w niektórych przypadkach również w pliku /etc/mail. Dokładny opis wszystkich możliwości konfiguracji jest zbyt obszerny, aby go zmieścić w tym rozdziale. W plikach konfiguracyjnych są jednak komentarze do poszczególnych opcji, które stanowią znaczną pomoc w pracy.

Niektóre pliki tekstowe wymagają konwersji na pliki baz danych za pomocą programu makemap. Odbywa się to automatycznie podczas zamykania narzędzia YaST2 lub wywołania z SuSEconfig.

W przypadku złożonej konfiguracji serwera sendmail zaleca się korzystanie z pliku /etc/mail/linux.mc jako szablonu do własnej konfiguracji. W tym celu wyłącz automatyczne generowanie pliku /etc/sendmail.cf za pomocą następującego ustawienia: SENDMAIL_TYPE=no. Polecenie m4 /etc/mail/linux.mc > /etc/sendmail.cf tworzy w katalogu /usr/share/sendmail za pomocą makr poprawną konfigurację sendmail.

Dalszą dokumentację sendmail znajdziesz w SuSE Linux Office Server w pliku usr/share/doc/packages/sendmail, a także na stronie internetowej sendmail, pod adresem http://www.sendmail.org .

Pobieranie wiadomości z zewnętrznych skrzynek za pomocą programu fetchmail

Program fetchmail to bardzo przydatne narzędzie do odbioru wiadomości z zewnętrznych skrzynek pocztowych. Program obsługuje się zasadniczo z wiersza poleceń, ale jeżeli chcesz regularnie pobierać wiadomości z zewnętrznych skrzynek, warto użyć skryptów lub programu cron.

Kompletna konfiguracja narzędzia jest zawarta w pliku tekstowym fetchmailrc w katalogu domowym każdego użytkownika. W najprostszej postaci może to wyglądać tak:

poll pop.example.com proto pop3 user ania pass haslo1

Słowo kluczowe poll definiuje nową, zewnętrzną skrzynkę. Po nim następuje nazwa serwera, a proto określa protokół. W tym przypadku jest to POP3. W dalszej kolejności mamy nazwę skrzynki i przynależne hasło. Zwróć uwagę, że fetchmail przechowuje hasło do skrzynki w postaci otwartego tekstu. Dlatego też należy posłużyć się poleceniem chmod 600 .fetch-mailrc, aby jedynie dany użytkownik mógł odczytać plik.

Na dłuższą metę utrzymywanie pliku konfiguracyjnego fetchmail dla każdego użytkownika jest niepraktyczne. Dodatkowy problem polega na tym, że każdy użytkownik odbiera swoją pocztę oddzielnie. Lepiej utworzyć wspólną konfigurację fetchmail, w której całą pocztę odbiera użytkownik root. Plik fetchmailrc użytkownika root mógłby wyglądać tak:

poll pop.example.com proto pop3 user ania pass haslo1 \ is ania_m

poll pop.example.com proto pop3 user kasia pass haslo2 \ is kasia_k

Parametr \ is <user> na końcu określa, do którego lokalnego użytkownika mają być dostarczane wiadomości.

Można też uzupełnić skrypt /etc/ppp/ip-up o wywołanie fetchmail. W tym celu dodaj w pliku ip-up następujący wiersz:

/usr/bin/fetchmail >/var/log/fetchmail 2>&1

W ten sposób podczas każdego połączenia PPP użytkownicy Ania i Kasia otrzymają pocztę z zewnętrznych skrzynek. Alternatywnie, w pliku /usr/share/doc/packages/fetchmail znajduje się skrypt startowy, który uruchamia fetchmail jako demona.


Zobacz również