meillo@4: DebianUsers.pl (beta) meillo@4: Ślad: » MasqMail -- szybkie wprowadzenie meillo@4: Start Artykuły Tips & Tricks Wideo Wyszukaj w serwisie Archiwum meillo@4: Spis treści meillo@4: meillo@4: • Streszczenie meillo@4: • Prawa autorskie meillo@4: • Spis treści meillo@4: • 1. O programie meillo@4: • 2. Konfiguracja meillo@4: • 2.1. Plik masqmail.conf meillo@4: • 2.2. Wysyłanie poczty meillo@4: • 2.3. Pobieranie poczty meillo@4: • 3. MasqMail w systemie meillo@4: • 4. Podsumowanie meillo@4: • 5. Pliki konfiguracyjne meillo@4: • Dyskusja meillo@4: meillo@4: drukuj wersja do wydruku meillo@4: meillo@4: MasqMail -- szybkie wprowadzenie meillo@4: meillo@4: Maciej Patelczyk meillo@4: meillo@4: Streszczenie meillo@4: meillo@4: MasqMail jest serwerem poczty zaprojektowanym dla hostów nie posiadających meillo@4: stałego połączenia z siecią Internet, takich jak proste sieci komputerowe, czy meillo@4: pojedyncze komputery, łączące się z Internetem poprzez modem. Program potrafi meillo@4: obsługiwać połączenia do różnych dostawców Internetu (ang. ISP – Internet meillo@4: Services Provider). Jest zamiennikiem dla programu Sendmail, czy innych meillo@4: serwerów pocztowych (ang. MTA – Mail Transfer Agent), takich jak Qmail czy meillo@4: Exim. Może również służyć jako klient POP3. meillo@4: meillo@4: Takiej treści wstęp widnieje na stronie podręcznika systemowego do programu. meillo@4: Trafiłem na niego szukając w Debianie jakiegoś serwera poczty dla hosta meillo@4: łączącego się z Internetem poprzez modem. Nie miałem ochoty konfigurować meillo@4: serwera Exim, więc szukałem czegoś innego. Po przeczytaniu opisu, MasqMail meillo@4: wydał mi się idealny dla moich potrzeb. meillo@4: meillo@4: Prawa autorskie meillo@4: meillo@4: Copyright (C) 2003 Maciej Patelczyk. All rights reserved. meillo@4: meillo@4: Udziela się zgody na kopiowanie, rozpowszechnianie i/lub modyfikowanie tego meillo@4: dokumentu zgodnie z zasadami Licencji Wolnej Dokumentacji (GNU Free meillo@4: Documentation Licence) w wersji 1.1 lub jakiejkolwiek późniejszej wersji meillo@4: opublikowanej przez Fundację Wolnego Oprogramowania (Free Software Foundation). meillo@4: Kopię tej licencji można znaleźć na stronach Fundacji Wolnego Oprogramowania. meillo@4: meillo@4: Spis treści meillo@4: meillo@4: 1. O programie2. Konfiguracja2.1. Plik masqmail.conf2.2. Wysyłanie poczty2.3. meillo@4: Pobieranie poczty3. MasqMail w systemie4. Podsumowanie5. Pliki konfiguracyjne meillo@4: meillo@4: 1. O programie meillo@4: meillo@4: MasqMail został oryginalnie napisany przez Olivera Kurtha, zaś Gregor Hoffleit meillo@4: przystosował program do wymogów dystrybucji i przygotował dla niej paczkę. meillo@4: meillo@4: MasqMail jest bardzo prostym serwerem pocztowym. Nie warto go stosować, jeżeli meillo@4: host jest na stałe podłączony do Internetu. Jako serwer pocztowy, potrafi meillo@4: rozsyłać wiadomości przy pomocy protokołu SMTP/ESMTP, a jako program do meillo@4: pobierania poczty obsługuje protokoły POP3 i APOP. Ponieważ MasqMail miał być meillo@4: przede wszystkim zamiennikiem dla programu Sendmail, to używa podobnych jak on meillo@4: opcji wywołania, choć nie wszystkie z nich są jednak zaimplementowane. meillo@4: meillo@4: MasqMail doskonale nadaje się do zastosowania w laptopach i domowych meillo@4: komputerach, łączących się od czasu do czasu z Siecią poprzez modem. Sprawdza meillo@4: się również jako serwer poczty dla małych sieci komputerowych nie posiadających meillo@4: stałego łącza z Internetem. Działając jako serwer poczty przyjmuje pocztę, meillo@4: kolejkuję ją, a gdy wykryje połączenie z Internetem, to natychmiast stara się meillo@4: ją rozesłać. Potrafi określić czy adresat (host) należy do wewnętrznej sieci, a meillo@4: jeżeli tak, to nie będzie jej kolejkował, tylko niezwłocznie wyśle. meillo@4: meillo@4: 2. Konfiguracja meillo@4: meillo@4: Główny plik konfiguracyjny programu to plik ”/etc/masqmail/masqmail.conf”. W meillo@4: pliku tym, oprócz głównych ustawień programu, opisuje się sposoby zachowania meillo@4: się serwera w zależności od używanego dostawcy Internetu. Można w nim określić meillo@4: kto może wysyłać pocztę, do jakich hostów i za pomocą jakiego połączenia to meillo@4: robi. meillo@4: meillo@4: 2.1. Plik masqmail.conf meillo@4: meillo@4: Pierwszą rzeczą jaką zwykle się konfiguruje jest nazwa hosta: meillo@4: meillo@4: host_name="host.domena.pl" meillo@4: meillo@4: Następnie określane są te hosty, które będą traktowane jako lokalne, czyli meillo@4: należące do lokalnej sieci komputerowej. Podaje się tutaj listę, w której meillo@4: separatorem jest ”';'”. meillo@4: meillo@4: local_hosts="host;host.domena.pl;localhost" meillo@4: meillo@4: Później informujemy serwer, aby nasłuchiwał na odpowiednich portach: meillo@4: meillo@4: listen_addresses="nazwa_hosta:25;localhost:25" meillo@4: meillo@4: Możemy również określić, na jaki port będą wysyłane wiadomości: meillo@4: meillo@4: remote_port=25 meillo@4: meillo@4: Katalog, w którym umieszczona będzie kolejka wiadomości i temu podobne określa meillo@4: się za pomocą zmiennej „spool_dir”: meillo@4: meillo@4: spool_dir="/var/spool/masqmail" meillo@4: meillo@4: Katalog, w którym zapisywane będą lokalne wiadomości wskazuje zmienna meillo@4: „mail_dir”: meillo@4: meillo@4: mail_dir="/var/mail" meillo@4: meillo@4: Program może samodzielnie zapisywać zdarzenia lub może do tego celu użyć demona meillo@4: „syslogd”. Ustawienie zmiennej na ”'true'” powoduje, iż wszelkie zdarzenia meillo@4: loguje „syslogd”: meillo@4: meillo@4: use_syslog=false meillo@4: meillo@4: Trzeba jeszcze ustawić katalog, w którym zapisywane będą logi: meillo@4: meillo@4: log_dir="/var/log/masqmail" meillo@4: meillo@4: Ustawienie poniższej zmiennej na ”'true'” powoduje, że wiadomości nie będą meillo@4: natychmiastowo wysyłane, ale kolejkowane i rozsyłane przy następnym cyklu: meillo@4: meillo@4: do_queue=false meillo@4: meillo@4: Trzeba również skonfigurować sposób w jaki serwer będzie wykrywał stan online. meillo@4: Najprościej do tego celu wykorzystać metodę „file”. meillo@4: meillo@4: online_detect = file meillo@4: online_file = "/tmp/connect_route" meillo@4: meillo@4: Przy połączeniu z Siecią, skrypt startowy znajdujący się w katalogu ”/etc/ppp/ meillo@4: ip-up.d” utworzy zadany plik, którego zawartością będzie nazwa dostawcy meillo@4: Internetu, za pośrednictwem którego nastąpiło połącznie. Przy rozłączeniu plik meillo@4: ten zostanie skasowany. meillo@4: meillo@4: Potrzebne jest również ustawienie sposobu lokalnego dostarczenia poczty (na meillo@4: przykład po ściągnięciu ze skrzynki). Najprościej zrobić to w następujący meillo@4: sposób: meillo@4: meillo@4: mda="/usr/bin/procmail -Y -d ${rcpt_local}" meillo@4: meillo@4: Oczywiście program „procmail” musi być zainstalowany. meillo@4: meillo@4: Dalsze sekcje zawierają konfigurację aliasów, którą tutaj pominę. Więcej meillo@4: szczegółów na ten temat można znaleźć w dostępnej dokumentacji. meillo@4: meillo@4: Ostatnią rzeczą do skonfigurowania w pliku „masqmail.conf” jest meillo@4: przyporządkowanie poszczególnym dostawcom Internetu określonych zachowań meillo@4: serwera, które opisane są w osobnych plikach. meillo@4: meillo@4: Wysyłaniem poczty poprzez jedno połączenie może sterować jeden lub kilka plików meillo@4: „route”. Można utworzyć listę, której separatorem jest znak ”';'”. meillo@4: meillo@4: connect_route.nazwa_połączenia = "/etc/masqmail/nazwa_połączenia.route" meillo@4: meillo@4: lub meillo@4: meillo@4: connect_route.foo = "/etc/masqmail/foo.route;/etc/masqmail/bar.route" meillo@4: meillo@4: Choć nazwy plików mogą być dowolne, to warto się jednak trzymać schematu: nazwa meillo@4: pliku odpowiada nazwie dostawcy Internetu, natomiast meillo@4: „connect_route.nazwa_połączenia” musi dokładnie odpowiadać nazwie zestawionego meillo@4: połączenia. Serwer odczyta bowiem nazwę połączenia z pliku ”/tmp/connect_route” meillo@4: i będzie próbował znaleźć odpowiedni wpis w ”/etc/masqmail/masqmail.conf”. meillo@4: meillo@4: Przy pobieraniu poczty poprzez MasqMail należy jeszcze skonfigurować, skąd meillo@4: pobierać pocztę: meillo@4: meillo@4: get.nazwa_połączenia = /etc/masqmail/nazwa_konta.get meillo@4: meillo@4: Jeżeli poczta będzie ściągana z więcej niż jednego konta, to wpis należy po meillo@4: prostu zwielokrotnić, zmieniając nazwy plików: meillo@4: meillo@4: get.nazwa_połączenia = /etc/masqmail/konto_1.get meillo@4: get.nazwa_połączenia = /etc/masqmail/konta_2.get meillo@4: meillo@4: Jeżeli wywołamy MasqMail z argumentem ”-g”, to zacznie on po kolei pobierać meillo@4: pocztę według podanej kolejności. meillo@4: meillo@4: 2.2. Wysyłanie poczty meillo@4: meillo@4: Aby móc wysyłać pocztę przy użyciu MasqMaila, potrzeba skonfigurować meillo@4: przynajmniej jeden plik „route”. Poniżej zamieszczona jest minimalna potrzebna meillo@4: konfiguracja. meillo@4: meillo@4: MasqMail umożliwia łącznie się z różnymi dostawcami Internetu, zaimplementowano meillo@4: więc w nim mechanizm pozwalający określać, jaki użytkownik może wysyłać pocztę meillo@4: danym połączeniem. Jeżeli nie jest to istotne lub połączenie odbywa się tylko meillo@4: poprzez jednego dostawcę, to wystarczy podstawić wartość pustą. Przed wysłaniem meillo@4: poczty sprawdzana jest lokalna część adresu i na tej podstawie podejmowana jest meillo@4: decyzja. meillo@4: meillo@4: allowed_mail_locals = "janek;tadek;kasia" meillo@4: meillo@4: lub gdy nie ma ograniczeń: meillo@4: meillo@4: allowed_mail_locals = "" meillo@4: meillo@4: Innym kryterium jest lista niedozwolonych domen. Można ustalić, czy za pomocą meillo@4: danego połączenia można wysyłać pocztę do określonych domen. Można podać listę, meillo@4: w której akceptowane są znaki ”'*'” oraz ”'?'”. Separatorem jak zwykle jest meillo@4: znak ”';'”. meillo@4: meillo@4: not_allowed_rcpt_domains = "*.foo.bar" meillo@4: meillo@4: Trzeba też określić, czy serwer ma rozsyłać pocztę bezpośrednio do każdego meillo@4: hosta, czy też cała poczta ma wędrować do innego serwera pocztowego, meillo@4: najczęściej będącego w posiadaniu dostawcy Internetu. Generalnie lepiej meillo@4: przesłać całą pocztę do innego serwera i niech tamten się martwi, co dalej z meillo@4: nią zrobić. Nie ustawienie zmiennej „mail_host” powoduje, iż poczta będzie meillo@4: rozsyłana bezpośrednio do adresatów. meillo@4: meillo@4: mail_host = "mail.isp.pl" meillo@4: meillo@4: Ustawienie wartości zmiennej „do_correct_helo” na ”'true'” powoduje, że w meillo@4: komunikacie HELO/EHLO wysyłana jest nazwa hosta taka, jaka jest widziana z meillo@4: zewnątrz sieci. Niektórzy dostawcy przy połączeniu nadają łączącym się hostom meillo@4: oprócz adresu IP również nazwę. Zarówno adres jak i nazwa mogą być znane tylko meillo@4: w obrębie sieci danego dostawcy, dlatego wysyłając taką nazwę serwerowi meillo@4: pocztowemu, który sprawdza, czy dany host istnieje można spotkać się z odmową meillo@4: przyjęcia poczty. Warto zatem ustawić tę zmienną: meillo@4: meillo@4: do_correct_helo = true meillo@4: meillo@4: W sumie to już wszystko na temat konfiguracji wysyłanej poczty. W dalszej meillo@4: części pliku są sekcje dotyczące zamiany nagłówków „From:” i „Return-Path:”. meillo@4: Jeżeli chcesz dowiedzieć się więcej na ten temat, zajrzyj do dokumentacji. meillo@4: meillo@4: 2.3. Pobieranie poczty meillo@4: meillo@4: Jeżeli MasqMail ma służyć również do pobierania poczty z różnych skrzynek meillo@4: pocztowych, to trzeba stworzyć proste pliki odpowiedzialne za obsługę każdego meillo@4: konta z osobna. meillo@4: meillo@4: Typowy plik „nazwa_konta.get” wygląda następująco: meillo@4: meillo@4: # Protokół. W tej chwili są zaimplementowane tylko protokoły 'pop3' i 'apop'. meillo@4: # Apop (szyfrowanie haseł) jest polecany, jeżeli tylko serwer go wspiera. meillo@4: protocol=pop3 meillo@4: meillo@4: # Serwer pocztowy: meillo@4: server = pop.example.org meillo@4: meillo@4: # Nazwa konta: meillo@4: user=nazwa_użytkownika meillo@4: meillo@4: # Hasło: meillo@4: pass="moje hasło" meillo@4: meillo@4: # Lokalny adres, gdzie pobrana poczta ma być dostarczona: meillo@4: address=nazwa_użytkonika@localhost meillo@4: meillo@4: # Czy kasować pocztę z serwera po jej pobraniu? Wartość "false" oznacza meillo@4: # ksujesz poczty na serwerze, to zdecydowanie ustaw tutaj wartość meillo@4: # "true", inaczej otrzymasz tę samą pocztę za każdym cyklem pobierania. meillo@4: # Masqmail kompletnie ignoruje jakiekolwiek nagłówki (niektóre mogą oznaczać meillo@4: # przeczytanie już wiadomości). meillo@4: do_uidl=false meillo@4: meillo@4: Jak widać, nie ma tu żadnej magii. Tyle na temat konfiguracji pobierania meillo@4: poczty. meillo@4: meillo@4: 3. MasqMail w systemie meillo@4: meillo@4: MasqMail jest wywoływany przy starcie systemu. Domyślnie jest uruchamiany z meillo@4: argumentami ”-bd” i ”-q10m”. Pierwszy z nich oznacza, że program startuje jako meillo@4: demon i nasłuchuje na określonym porcie, zazwyczaj na 25. Drugi oznacza, iż meillo@4: kolejkowanie wiadomości lokalnych ma się odbywać co 10 minut. Nie dotyczy to meillo@4: wiadomości dla hostów nie ujętych jako lokalne. meillo@4: meillo@4: Gdy nastąpi połączenie z Internetem, to wywołany zostanie skrypt ”/etc/ppp/ meillo@4: ip-up.d/1masqmail”. Jego zawartość jest mniej więcej taka, jak poniżej meillo@4: (większość pominięto): meillo@4: meillo@4: echo -n "$PROVIDER" > /tmp/connect_route meillo@4: chmod 0644 /tmp/connect_route meillo@4: meillo@4: /usr/sbin/masqmail -qo & meillo@4: meillo@4: if grep -qsx "^get.$PROVIDER.*=.*" /etc/masqmail/masqmail.conf; then meillo@4: /usr/sbin/masqmail -g & meillo@4: fi meillo@4: meillo@4: Natychmiast po ustanowieniu połączenia skrypt tworzy plik ”/tmp/connect_route” meillo@4: z informacją, z którym dostawcą Internetu nastąpiło połączenie. Jest to meillo@4: zazwyczaj argument demona „pppd”. Następnie MasqMail wywoływany jest z meillo@4: argumentem ”-qo”, co oznacza iż cała poczta przeznaczona do adresatów meillo@4: nielokalnych zostanie rozesłana, o ile to oczywiście jest możliwe. Na końcu meillo@4: sprawdzane jest, czy MasqMail ma działać dla zadanego dostawcy jako program do meillo@4: ściągania poczty. Jeżeli tak, to poprzez wywołanie go z argumentem ”-g” nastąpi meillo@4: sprawdzenie i ściągnięcie poczty z określonych wcześniej kont. meillo@4: meillo@4: Przy rozłączaniu wykonywany jest skrypt ”/etc/ppp/ip-down.d/99masqmail”, który meillo@4: właściwie tylko kasuje plik ”/tmp/connect_route”: meillo@4: meillo@4: if [ -f /tmp/connect_route ]; then meillo@4: rm -f /tmp/connect_route meillo@4: fi meillo@4: meillo@4: 4. Podsumowanie meillo@4: meillo@4: Przedstawiono tutaj jedynie podstawową konfigurację programu, która w meillo@4: zupełności powinna wystarczyć osobom łączącym się z Internetem za pomocą meillo@4: modemu. Na stronach podręcznika systemowego i w katalogu ”/usr/share/doc/ meillo@4: masqmail” zamieszczono więcej informacji. Jeżeli MasqMail ma działać jako meillo@4: serwer pocztowy dla małej sieci osiedlowej z jednym połączeniem modemowym, to meillo@4: lepiej zajrzeć do dokumentacji i dokładnie ją przestudiować. meillo@4: meillo@4: 5. Pliki konfiguracyjne meillo@4: meillo@4: Poniżej zamieszczono odnośniki do przetłumaczonych plików konfiguracyjnych: meillo@4: meillo@4: • masqmail.conf meillo@4: • example.route meillo@4: • example.get meillo@4: meillo@4: Dyskusja meillo@4: meillo@4: articles/41.txt · ostatnio zmienione: 2008/01/11 21:41 (edycja zewnętrzna) meillo@4: meillo@4: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ meillo@4: meillo@4: • Indeks meillo@4: • Ostatnie zmiany meillo@4: meillo@4: [ ][Szukaj] meillo@4: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ meillo@4: meillo@4: • Zaloguj meillo@4: meillo@4: meillo@4: meillo@4: Recent changes RSS feed Creative Commons License Donate Driven by DokuWiki meillo@4: *