Instalowanie i konfigurowanie ubuntu sendmaila. Podstawowa instalacja i konfiguracja Sendmaila na Ubuntu Server. Problemy z Intertelecom
Instrukcja instalacji i konfiguracji jednego z najstarszych MTA (Agent transferu poczty), program do wysłania E-mail - Wyślij maila, który jest dostępny do instalacji na dowolnym system operacyjny. W wielu systemach operacyjnych sendmail jest instalowany domyślnie i nie ma szczególnej potrzeby zmiany tego domyślnego MTA na inny. Jednocześnie ten sam PHP jest domyślnie skonfigurowany do pracy z tym MTA. Jeśli konfiguracja sendmaila trwa zbyt długo, zainstaluj postfix(), nie marnuj zbyt wiele czasu.
Trening
Sprawdź, czy masz zainstalowany sendmail, a nie exim4 lub inny MTA:
Ls -la `which sendmail` # lrwxrwxrwx 1 root root 26 17.01.2011 19:58 /usr/sbin/sendmail -> /etc/alternatives/sendmail
Instalacja
sudo apt-get zainstaluj sendmail sasl2-binKonfiguracja /etc/hosts
127.0.0.1 localhost localhost.localdomain e5530Notatka
Musisz podać swój główny host (nazwa komputera, moja to e5530) i localhost.localdomain, w przeciwnym razie pojawi się błąd: Moja niekwalifikowana nazwa hosta (myhostname) jest nieznana; spanie przed ponowną próbą” i „nie mogę zakwalifikować własnej nazwy domeny (e5530) – przy użyciu krótkiej nazwy, Wyślij maila zajmuje dużo czasu, aby rozpocząć i powoli wysyła pocztę. Ewentualnie gospodarz localhost.localdomain można pominąć, nie jestem pewien.
Następnie musisz podać nazwy lokalnych hostów, z których Wyślij maila zaakceptuje prośby o wysłanie wiadomości e-mail, w pliku /etc/mail/local-host-names:
AuthInfo:smtp.gmail.com "U: [e-mail chroniony]" "I: [e-mail chroniony]" "P:YourPass" "M:PLAIN" AuthInfo:smtp.gmail.com:465 "U: [e-mail chroniony]" "I: [e-mail chroniony]" "P:Twoje hasło" "M:ZWYKŁY"
Notatka
Zamiast portu 465 można spróbować wbić na 587 (jeśli są problemy z autoryzacją):
AuthInfo:smtp.gmail.com:587 "U: [e-mail chroniony]" "I: [e-mail chroniony]" "P:Twoje hasło" "M:ZWYKŁY"
Chmod 600 /etc/mail/auth/*
konfiguracja sendmail.mc
Plik konfiguracyjny /etc/mail/sendmail.mc . Porównaj swoją konfigurację. Powinno być mniej więcej tak.. Kolejność instrukcji jest ważna!
dnl # include(`/etc/mail/m4/dialup.m4")dnl include(`/etc/mail/m4/provider.m4") dnl include(`/etc/mail/tls/starttls.m4")dnl include(`/etc/mail/sasl/sasl.m4")dnl FEATURE(`authinfo",`hash /etc/mail/auth/client-info")dnl define(`SMART_HOST",`smtp.gmail.com" )dnl define(`RELAY_MAILER_ARGS", `TCP $h 587") dnl define(`ESMTP_MAILER_ARGS", `TCP $h 587") )dnl define(`confAUTH_MECHANISMS", `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 PLAIN LOGOWANIA") dnl # dnl define(`confDOMAIN_NAME", `e5530")dnl
Zastosuj konfigurację sendmaila
cd /etc/mail sudo su # po prostu sudo nie zadziała! m4 sendmail.mc > sendmail.cf makemap -r hash authinfo.db< auth/client-info make /etc/init.d/sendmail restart # Перезагрузка конфигаProblemy i rozwiązania
Jeśli wszystko jest poprawnie skonfigurowane, ale wiadomości trafiają do „kolejki z opóźnieniem” i nie są przekazywane do innego SMTP:
- Sprawdź swoje IP "shnik na czarnych listach. Możesz sprawdzić blokadę IP tutaj smart-ip.net, moje IP dostało się do bazy danych spamhaus".
- Sprawdź, czy Twój dostawca usług internetowych blokuje pakiety wychodzące na porcie 25.
Problemy z Intertelecomem!
Nie udało mi się skonfigurować przekazywania wiadomości w Gmailu przez sendmaila na połączeniu Intertelecom - sendmail uparcie zapukał na porcie 25, który jest zamknięty przez dostawcę. Musiałem skonfigurować postfixa.
Konfiguracja PHP (w razie potrzeby)
Określ parametry startowe sendmaila w pliku konfiguracyjnym /etc/php5/apache2/php.ini (/etc/php5/cli/php.ini):
## Konfiguracja sendmaila PHP: sendmail_path = /usr/sbin/sendmail -t ;sendmail_path = "/usr/sbin/sendmail -t -f [e-mail chroniony]-i"
Sprawdźmy ustawienia
echo "Tekst wiadomości" | poczta -s "Temat" [e-mail chroniony] sendmail -t [e-mail chroniony]-f [e-mail chroniony]-v -i< ~/mail-body.txtAby przetestować postfix, spróbuj wysłać kilka wiadomości z konsoli. Jak to zrobić namalowałem w tym artykule: „”.
zarządzanie sendmailem
Wyświetl całą kolejkę wiadomości:
sudo mailq
Wyświetl kolejkę wiadomości pod określonym adresem:
sudo mailq | grep" [e-mail chroniony]" | wc-l
Wyczyść całą kolejkę wiadomości sendmail:
Sudo rm -r /var/spool/mqueue-client/*
Wyczyść kolejkę wiadomości sendmail według miejsca docelowego:
CD /var/spool/mqueue ls | xargs -ti sh -c "grep" [e-mail chroniony]" "()" > /dev/null && rm -f "()""
#wyślij pocztę, #LAMPA, #MTA
PS Jeśli chcesz odkrywać konsola linux na dość dobrym poziomie – polecam lekturę nowej książki Denisa Kolisnichenko” Linia poleceń Linux i automatyzacja rutynowych zadań».
Na początek mała dygresja
SMTP - Simple Mail Transfer Protocol - usługa w sieciach TCP/IP służąca do przesyłania wiadomości (np. poczty). Zwykle port 25 jest używany dla SMTP (zobacz plik /etc/services)
POP - Post Office Protocol - służy do odbierania poczty z serwera. Port domyślny - 110 (dla protokołu POP3)
Teraz postaram się wyjaśnić, jak skonfigurować mały serwer pocztowy za pomocą POP3 i SMTP
Najpierw zainstalujmy niezbędne oprogramowanie. Potrzebujemy sendmaila i imapa. Jeśli używasz wersji Linuksa zgodnej z RH, będziesz musiał zainstalować odpowiednie pakiety.
używam
sendmail-8.11.0
imap-4.7c2
Zanim będziesz mógł skonfigurować sendmail, musisz poprawnie ustawić DNS, w przeciwnym razie ten program nie będzie działał poprawnie (chociaż możesz skonfigurować sendmaila do pracy bez używania DNS).
Zróbmy podstawową konfigurację sendmaila. Aby to zrobić, musisz uruchomić narzędzie
konfiguracja sieci. Działa zarówno spod X, jak i spod konsoli.
Narzędzie netconf jest w RH, Mandrake - nie wiem na pewno o innych wersjach. (nie jest dostępna w KSI Linux). Oczywiście musisz być zalogowany do systemu jako root
Wybierz z menu system dostarczania poczty, następnie Podstawowa konfiguracja sendmaila
W polu Prezentuj swój system jako wpisz po prostu swój Nazwa domeny
Następnie zaznacz pole Zaakceptuj e-mail dla ...
Ustaw protokół wysyłania wiadomości na smtp ( Protokół bramki pocztowej)
Ta informacja jest już wystarczająca, aby twój sendmail działał.
Możesz zainstalować opcje dodatkowe program sendmail z
netkonf. Jeśli nie masz programu sendmail, otrzymasz niezapomniane
przyjemność ręcznego edytowania pliku /etc/sendmail.cf - w nim
ustawienia są przechowywane
Teraz upewnijmy się, że sendmail akceptuje tylko pocztę od
adresy. Nie musisz nawet konfigurować samego sendmaila - po prostu musisz
popraw pliki /etc/hosts.allow i /etc/hosts.deny
Pierwsza zawiera listę hostów, które mają dostęp do tego
samochód, aw drugim - jest zabronione. Należy pamiętać, że pomimo nazwy
(dozwolone|wyłączone), ograniczenia ustawione przez pierwszy plik
znacznie surowsze.
Przykład. Aby odmówić dostępu wszystkim hostom z wyjątkiem komputerów na Twoim
sieci w pliku /etc/hosts.allow dodaj linię
"192.168.1.
Tutaj mamy na myśli, że sieć ma adres 192.168.1.0 i maskę 255.255.255.0
Możesz przeczytać więcej o formacie plików hosts.allow i hosts.deny,
wpisując man /etc/hosts.allow
Aby akceptować pocztę tylko z „ich” domen, musisz dodać do
plik mc (zwykle /etc/mail/sendmail.mc) następujące linie (użyj
tabulatory, a nie spacje)
LOCAL_CONFIG
FR-o /etc/sendmail.cR
LOCAL_RULESETS
Scheck_rcpt
# wszystko, co kończy się lokalnie, jest w porządku
R< $+ @ $=w
> [e-mail chroniony] OK
R< $+ @ $=R
> [e-mail chroniony] OK
# wszystko, co pochodzi lokalnie, jest w porządku
R$* $: $(dequote "" $&(client_name) $)
R$=w [e-mail chroniony] OK
R$=R [e-mail chroniony] OK
[e-mail chroniony]
[e-mail chroniony] OK
# wszystko inne jest fałszywe
R$* $#błąd $: "550 przekaźnik odrzucony"
Teraz utwórz plik /etc/sendmail.cR i wprowadź do niego nazwy "swoich" domen -
po jednym w każdej linii.
Tylko na tych domenach mailer będzie mógł odbierać pocztę - cała reszta otrzyma
Wiadomość 550 Odmowa przekazywania
Teraz kolej na POP3. Po zainstalowaniu pakietu imap masz praktycznie
wszystko jest ustawione, czyli Chcę powiedzieć, że już można sprawdzić konfigurację.
Najpierw uruchom ponownie demona inetd
Po ponownym uruchomieniu usługi sendmail i popd zostaną aktywowane (dokładniej
jeden sendmail i popd są wywoływane w razie potrzeby)
Spróbuj wykonać następujące czynności:
wpisz telnet<имя_только_созданного_почтовика> 25
Powinieneś zobaczyć coś takiego:
Próbuję 192.168.1.1 ...
Połączony z 192.168.1.1
Znak ucieczki to „^]”
220 de.dhsilabs.com ESMTP Sendmail 8.11.0/8.8.7 niedziela, 17 czerwca 2001 10:54:22 +300
Oznacza to, że sendmail działa, trzeba jeszcze sprawdzić, czy jest poprawny :)
Wchodzić
mail od: [e-mail chroniony]
220 2.1.0 [e-mail chroniony].... Nadawca OK
rcpt do: [e-mail chroniony]
220 2.1.5 [e-mail chroniony]... Odbiorca Ok
Teraz wpisujemy dane, potem tekst wiadomości, aby zakończyć wpis wstawiamy kropkę
w pusta linia
Sendmail zgłosi, że wiadomość została wysłana (a raczej umieszczona w
kolejka odlotów)
[e-mail chroniony]-nazwa użytkownika, do którego wysyłam pocztę.
den.dhsilabs.com - nazwa mojego mailera
Należy pamiętać, że węzeł my.host.com nie istnieje w naturze, ale Sender Ok.
Dlatego lepiej włączyć opcję Czekaj na DNS w ustawieniach sendmaila
Teraz musimy trochę uruchomić klient poczty np. kmail
i odebrać pocztę.
ustawienia sieciowe w kmail
Sieć -> Wyślij zestaw poczty SMTP, port 25, nazwa serwera -
nazwa Twojego mailera,
Mam - den.dhsilabs.com
Następnie dodaj konto POP3
Dzienniki - den
Hasło - hasło używane do logowania do systemu
Serwer - den.dhsilabs.com
Port - 110
Powinieneś otrzymać wiadomość, którą wpisałeś po danych.
Prawie nie potrzebujesz serwer internetowy, który nie może wysyłać poczty z Twojej witryny. Poniżej znajduje się prosty sposób na szybkie wdrożenie Wyślij maila jako MTA (Mail Transfer Agent), który wysyła pocztę do witryny.
Zacząć instalacja
sudo apt-get zainstaluj sendmail
Drugie i najważniejsze - prawidłowe ustawienie sam gospodarz. Wysyłający pocztę musi jasno wiedzieć, jaką nazwę DNS FQDN ma host i że istnieje w rozległej sieci WWW.
Załóżmy, że serwer sendmail działa ma adres IP 123.123.123.123
Mamy też nazwę domeny nazwadomeny.com, która jest poprawnie delegowana na adres IP serwera.
Edycja pliku /etc/hosty aby sam serwer znał swoją nazwę DNS (oczywiście musi być poprawna i prawdziwa)
sudo nano -w /etc/hosts
Druga linia, którą należy dodać, to opis nazwy domeny serwera, jej porównanie z rzeczywistym adresem IP hosta oraz nazwą systemu wewnętrznego:
127.0.0.1 localhost 123.123.123.123 box1.domainname.com twój-serwer-web
Następnie musisz wprowadzić zmiany w pliku /etc/nazwa hosta
sudo nano -w /etc/nazwa hosta
I wpisz tam poprawną nazwę serwera, która została wpisana w /etc/hosty w naszym przykładzie jest to twój-serwer WWW.
Zawartość pliku /etc/hostname po edycji:
Twój serwer WWW
Po wykonaniu tych kroków musisz ponownie uruchomić serwer lub uruchomić:
/etc/init.d/hostname restart I wykonaj 2 polecenia: hostname hostname -f
Jeśli wszystko się zgadza, system powinien zwrócić te same nazwy w obu przypadkach: Twój-serwer WWW
radzę sprawdź e-mail wysłany zatem
# telnet localhost smtp daje nam: Trying::1... Trying 127.0.0.1... Connected to localhost. Znak ucieczki to „^]”. 220 localhost6.localdomain6 ESMTP Sendmail 8.14.3/8.14.3/Debian-9.2ubuntu1; czw, 9 grudnia 2010 15:31:17 +0200; (Brak UCE/UBE) dostęp do logowania z: localhost.localdomain(OK)- localhost.localdomain wprowadź: HELO localhost daje nam: 250 localhost6.localdomain6 Witaj localhost.localdomain , miło cię poznać wpisz: MAIL FROM: [e-mail chroniony] daje nam: 250 2.1.0 [e-mail chroniony] Nadawca ok wprowadź: RCPT DO: [e-mail chroniony] daje nam: 250 2.1.5 [e-mail chroniony] Odbiorca ok wpisz: DANE podaje nam: 354 Wpisz mail, zakończ "." w linii sam wpisz wiadomość testową . mam nadzieję, że się zorientowałeś określona poczta powyżej konieczne było zastąpienie go Twoją ostatnią wiadomością, którą telnet pisze do nas 250 2.0.0 oB9DVHsE004837 Wiadomość przyjęta do dostarczeniaW wyniku wykonania sekwencji poleceń na podany adres e-mail ( [e-mail chroniony]) powinien otrzymać komunikat („wiadomość testowa”).
Konfiguracja php.ini
gedit/etc/php5/apache2/php.ini
Znajdź i edytuj następny wiersz
sendmail_path = /usr/sbin/sendmail -t -i
Sprawdzanie funkcji mail()
Echo Poczta(" [e-mail chroniony]","wiadomość testowa", "wiadomość testowa","Od: [e-mail chroniony]"); ?>
Konfiguracja zakończona, mam nadzieję, że się udało skonfiguruj sendmail na ubuntu
Książka szczegółowo omawia ustawienia usług sieciowych, które pozwalają na stworzenie serwera o wymaganej konfiguracji i funkcjonalności w oparciu o system operacyjny Linux. Możesz skonfigurować serwer dowolnego typu: z serwera lokalna sieć do serwera internetowego i serwera zdalny dostęp. Administracja Linuksem jest szczegółowo opisana.
Prezentacja materiału oparta jest na dystrybucjach Red Hat i Mandrake. Wiele unikalnych informacji: uruchamianie gier Windows pod Linuksem i tworzenie serwera Linux dla pokoju gier, konfiguracja Dr. Web i AVP dla Linuxa, program do rozliczania ruchu MRTG, ochrona LIDS i system wykrywania włamań i wiele więcej. Szczególną uwagę zwraca się na bezpieczeństwo serwerów Linux. Sam system operacyjny Linux jest opisany wystarczająco szczegółowo i podana jest książka referencyjna jego poleceń. Po przeczytaniu książki staniesz się posiadaczem wiedzy na temat konfigurowania i kompilowania jądra, tworzenia własnych pakietów rpm, interpretera poleceń bash, przy użyciu macierzy RAID. Nauczysz się wewnętrzny świat linux. Książka jest odpowiednia zarówno dla profesjonalnych, jak i początkujących administratorów, ponieważ prezentacja materiału rozpoczyna się od instalacji systemu operacyjnego Linux, a pierwszy rozdział opisuje główne technologie sieciowe i protokoły (Kurs Młodego Administratora).
Wszystkie zamieszczone w książce wykazy są sprawdzane w praktyce i umieszczane na załączonej płycie CD. Ponadto zawiera wiele informacji referencyjnych (HOWTO, RFC), a także artykuły o Linuksie. Bogaty zestaw narzędzi pomocniczych i oprogramowanie dla serwera (Apache, MySQL, MRTG itp.).
Książka:
Jeśli używasz dystrybucji zgodnej z RedHat, będziesz musiał zainstalować odpowiednie pakiety. Używam sendmaiI-8.11.0 i imap-4.7c2. Ostatnia wersja sendmail można pobrać z Internetu pod adresem http://www.sendmail.org.
Zanim będziesz mógł skonfigurować sendmail, musisz poprawnie skonfigurować DNS. Konfiguracja serwera DNS została szczegółowo omówiona w Rozdz. 10. Jeśli konfigurujesz tylko serwer pocztowy, nie musisz konfigurować serwer DNS na tym samym komputerze. Wystarczy określić serwery DNS Twojej sieci w pliku /etc/resolv.conf, aby system rozpoznawania nazw działał poprawnie. Jednak sendmail można skonfigurować tak, aby działał bez użycia DNS, ale nie będę rozważał tej opcji.
Aby rozpocząć podstawową konfigurację sendmaila, uruchom narzędzie netconf (patrz Rysunek 13.1). Działa zarówno spod X-Window, jak i spod konsoli. Narzędzie netconf jest dostępne w RedHat Linux, Mandrake, ASPLinux i innych dystrybucjach, zdecydowanie nie w KSI Linux. Oczywiście musisz być zalogowany do systemu jako root. Jeśli nie masz programu netconf, będziesz mógł ręcznie edytować plik /etc/sendmail.cf. W tym pliku przechowywane są wszystkie ustawienia sendmaila.
Fotka. 13.1. konfigurator netconf
Wybierz z menu System dostarczania poczty, a następnie Podstawowa konfiguracja sendmaila. W polu Prezentuj swój system jako wpisz po prostu nazwę swojej domeny. Następnie upewnij się, że zaznaczyłeś pole „Zaakceptuj adres e-mail dla twoja_domena.com” (patrz Rysunek 13.2). Jeśli tego nie zrobisz, wiadomości mogą być przekierowywane przez Twój serwer na inny serwer. Jednocześnie przez Twój serwer przejdzie dodatkowy ruch, którego w ogóle nie potrzebujesz. Dawno, dawno temu istniał nawet taki rodzaj ataku, którego można było odmówić za pośrednictwem poczty e-mail. Jego zasada jest następująca: list jest wysyłany od nieistniejącego użytkownika [e-mail chroniony] inny nieistniejący użytkownik [e-mail chroniony] List jest wysyłany przez komputer hostcom, który umożliwia przekierowanie wiadomości (tryb „Akceptuj pocztę e-mail dla domena.com” nie jest włączony). Serwer pocztowy domeny B.com wysyła wiadomość na adres [e-mail chroniony]że użytkownik [e-mail chroniony] nie istnieje. Z kolei mailer domeny A.com informuje, że użytkownik: [e-mail chroniony] również nie istnieje i wysyła wiadomość na adres [e-mail chroniony] Istnieje pośrednia rekurencja. A teraz wyobraź sobie, że taka wiadomość to nie jeden, ale powiedzmy 100, a objętość każdej z nich to co najmniej 1 MB! W rezultacie jeden z serwerów w łańcuchu domena1.com - host.com - domena2.com powinien "upaść".
Ryż. 13.2. Podstawowa konfiguracja sendmaila
Przepraszam, trochę zboczyłem z tematu, kontynuujmy konfigurację sendmaila. Ustaw protokół wysyłania wiadomości na smtp (protokół bramy poczty).
Ta informacja jest już wystarczająca, aby twój sendmail działał. Możesz ustawić dodatkowe opcje programu sendmail używając netconf.
Teraz ustaw sendmail tylko na pocztę z dozwolonych adresów. Nie musisz nawet konfigurować samego sendmaila - wystarczy dostosować pliki /etc/hosts.allow i /etc/hosts.deny. Pierwsza z nich zawiera listę hostów, które mają dostęp do tego komputera, a druga zawiera listę hostów, którym zabroniono. Należy pamiętać, że pomimo nazwy - „dozwolone” lub „zakazane”, ograniczenia ustawione przez pierwszy plik są znacznie bardziej rygorystyczne. Na przykład, aby odmówić dostępu wszystkim hostom innym niż komputery w sieci, dodaj następujący wiersz do pliku /etc/hosts.allow: 192.168.1.
Tutaj mamy na myśli, że sieć ma adres 192.168.1.0 i maskę 255.255.255.0. Możesz przeczytać więcej o formacie plików hosts.allow i hosts.deny, wpisując man hosts.allow.
Teraz kolej na POP3. Po zainstalowaniu pakietu imap masz już prawie wszystko skonfigurowane, czyli Chcę powiedzieć, że już można sprawdzić konfigurację. Uruchom ponownie demona inetd lub xinetd, w zależności od tego, którego używasz, i wprowadź następujące polecenie:
telnet<имя_только_созданного_почтовика> 25
W odpowiedzi powinieneś zobaczyć coś takiego:
Próbuję 192.168.1.1 . . .
Połączony z 192.168.1.1
znak ucieczki to
220 de.dhsilabs.com ESMTP Sendmail 8.11.0/8.8.7 niedz., 17 cze
2001 10:54:22 +300
Oznacza to, że sendmail działa, ale okaże się, jak dobrze to robi. Aby to zrobić, wpisz coś takiego:
mail od: [e-mail chroniony]
220 2.1.0 [e-mail chroniony]…. Nadawca OK
rcpt do: [e-mail chroniony]
220 2.1.5 [e-mail chroniony]…. Odbiorca OK
Następnie wprowadź polecenie danych, następnie tekst wiadomości, a aby zakończyć wpis, umieść kropkę w pustym wierszu. Sendmail zgłosi, że wiadomość została wysłana (a raczej w kolejce do wysłania). Nagranie [e-mail chroniony]- nazwa użytkownika, do którego wysyłasz pocztę. Użytkownik musi rzeczywiście istnieć. Wpis den.dhsilabs.com to nazwa Twojej poczty.
Notatka. Nazwy [e-mail chroniony] i dhsilabs.com podano jako przykłady. Zamiast tego musisz podać własne wartości.
Zauważ, że host my.host.com nie istnieje, a program sendmail zgłasza komunikat „Sender OK”. Dlatego lepiej jest włączyć opcję Czekaj na DNS w ustawieniach sendmaila.
Teraz musisz uruchomić klienta pocztowego, na przykład kmail, i odbierać pocztę. Użyj następujących ustawień sieciowych w kmail: Sieć? Wysyłanie poczty ustaw SMTP, port 25, nazwa serwera - nazwa twojego mailera, w tym przykładzie jest to den.dhsilabs.com. Następnie dodaj konto dla POP3:
Nazwa użytkownika - den
Hasło — hasło używane do logowania się do systemu.
Serwer - den.dhsilabs.com
W rezultacie powinieneś otrzymać komunikat, który wpisałeś po danych. Może to powodować problemy z rozpoznawaniem nazw. Aby ich uniknąć, musisz poprawnie skonfigurować DNS lub zamiast nazwy serwer poczty elektronicznej użyj jego adresu IP. Dodając nowego użytkownika, pamiętaj, aby ustawić jego hasło logowania. Jeśli tego nie zrobisz, ale spróbujesz odebrać pocztę bez podawania hasła, otrzymasz wiadomość „Uwierzytelnianie nie powiodło się”.
Podstawowa konfiguracja programu sendmail jest bardzo łatwa przy użyciu konfiguratora, ale czasami podstawowa konfiguracja nie wystarczy. Aby dostroić, musisz zapoznać się z plikami konfiguracyjnymi programu sendmail.
Notatka. W większości przypadków wystarczy podstawowa konfiguracja, dopóki spamerzy nie wezmą Cię pod swój „protektorat” – wtedy będziesz musiał przeczytać rozdz. 23 o metodach antyspamowych. Jednak jedno z praw Murphy'ego może zadziałać - nie będzie konfiguratora sendmaila dla twojego systemu, a wtedy nadal będziesz musiał zajmować się plikami konfiguracyjnymi.
Główny plik konfiguracyjny sendmaila to /etc/sendmail.cf. W niektórych dystrybucjach plik ten znajduje się w katalogu /etc/mail. Mówi się, że ten plik jest dłuższy niż limuzyna Billa Gatesa i że jest edytowany w trybie „oczy boją się, ręce robią”. Jeśli mi nie wierzysz, otwórz ten plik i przekonaj się sam. Edytować podany plik tylko profesjonalni administratorzy lub twórcy programu sendmail mogą to zrobić ręcznie.
Zazwyczaj do edycji tego pliku używany jest procesor makr m4. Najpierw przygotowujesz specjalny plik mc. Ten plik zawiera ustawienia .sendmail, ale w bardziej „czytelnej” formie. Podczas edycji plików konfiguracyjnych wpływa również ich rozmiar. Dla porównania, mój plik mc ma 2459 bajtów, a sendmail.cf ma 46302 bajty. Edycja dwukilobajtowego pliku to jedno, a zupełnie co innego, jeśli rozmiar pliku wynosi 46 kilobajtów. w odróżnieniu plik konfiguracyjny sendmail, natychmiast zrozumiesz, do czego przeznaczony jest ten lub inny plik mc. Następnie, po edycji pliku mc, musisz uruchomić procesor makr m4, aby utworzyć plik konfiguracyjny sendmaila:
m4 my_config.mc > /etc/sendmail.cf
Przed uruchomieniem tego polecenia zdecydowanie zalecam zapisanie gdzieś oryginalnego pliku sendmail.cf. W przypadku nieprawidłowych ustawień zawsze możesz je przywrócić.
Domyślny plik konfiguracyjny używany przez procesor makr t4 do tworzenia pliku konfiguracyjnego sendmaila (sendmail.cf) znajduje się w katalogu /usr/share/sendmail-cf/cf. W starszych wersjach programu sendmail może znajdować się w katalogu /usr/lib/sendmail.
Zazwyczaj ten plik ma nazwę sendmail.mc. Czasami może mieć inną nazwę, na przykład redhat.mc, jeśli używasz Red Hata lub zgodnego systemu operacyjnego.
Przykład standardowego pliku /usr/share/sendmail-cf/cf/redhat.mc pokazano na listingu 13-1.
Listing 13.1. Standardowy plik redhat.mc
nurek(-1)
dnl To jest plik konfiguracyjny makr sendmaila. Jeśli wprowadzisz zmiany w tym pliku,
dnl potrzebujesz zainstalowanego rpm-a sendmail-cf, a następnie musisz wygenerować a
dnl new /etc/sendmail.cf, uruchamiając następujące polecenie: dnl
dnl m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
dnl
uwzględnij("../m4/cf.m4")
VERSIONID("instalacja Linuksa dla Red Hat Linux")dnl
TYP OS("linux")
define("confDEF_USER_ID","8:12") dnl
undefine("UUCP_RELAY")dnl
undefine("BITNET_RELAY")dnl
define("confAUTO_REBUILD")dnl
define("confTO_CONNECT", "1m")dnl
define("confTRY_NULL_MX_LIST",true)dnl
define("confDONT_PROBE_INTERFACES",true)dnl
define("PROCMAIL_MAILER_PATH", "/usr/bin/procmail")dnl
define("ALIAS_FILE", "/eto/aliases")dnl
dnl define("PLIK_STATUSU", "/etc/mail/statistics")dnl
define("UUCP_MAILER_MAX", "2000000")dnl
define("conf USERDB_SPEC", "/etc/mail/userdb.db")dnl
define("confPRIVACY_FLAGS", "authwarnings,novrfy,noexpn,restrictqrun")dnl
define("confAUTH_OPTIONS", "A")dnl
dnl TRUST_AUTH_MECH("DIGEST-MD5 CRAM-MD5 LOGOWANIE ZWYKŁE") dnl
dnl define("confAUTH_MECHANISMS", "DIGEST-MD5 CRAM-MD5 LOGIN PLAIN") dnl
dnl define("confTO_QUEUEWARN", "4h")dnl
dnl define("confTO_QUEUERETURN", "5d")dnl
dnl define("confQUEUE_LA", "12")dnl
dnl define("confREFUSE_LA", "18")dnl
FUNKCJA dnl(delay_checks)dnl
FUNKCJA("no_default_msa", "dnl")dnl
FUNKCJA("smrsh",Vusr/sbin/smrsh")dnl
FUNKCJA("tabela pocztowa", "hash-o /etc/mail/tabela pocztowa.db") dnl
FUNKCJA("virtusertable", "hash –o /etc/mail/virtusertable.db") dnl
FUNKCJA(przekierowanie)dnl
FUNKCJA(always_add_domain)dnl
FUNKCJA(użyj_pliku_cw)dnl
FUNKCJA(użyj_pliku_ct)dnl
FUNKCJA(local_procmail, "", "procmail -t -Y -a $h -d $u")dnl
FUNKCJA("access_db","hash –o /etc/mail/access.db")dnl
FUNKCJA("blacklist_recipients")dnl
EXPOSED_USER("root") dnl
dnl Zmienia to sendmail tak, aby nasłuchiwał tylko na urządzeniu sprzężenia zwrotnego 127.0.0.1
dnl, a nie na innych urządzeniach sieciowych. Skomentuj to, jeśli chcesz
dnl, aby akceptować wiadomości e-mail przez sieć.
DAEMON_OPTIONS("Port=smtp,Addr=127.0.0.1, Nazwa=MTA")
dnl UWAGA: powiązanie demona IPv4 i IPv6 z tym samym portem wymaga
dnl łatę jądra
dnl DAEMON_OPTIONS (xport=smtp,Addr=::1, Nazwa=MTA-v6, Rodzina=inet6")
dnl Zdecydowanie zalecamy skomentowanie tego, jeśli chcesz chronić
Odkrywaj się przed spamem. Jednak laptop i użytkowników na komputerach, które
dnl nie ma DNS 24x7, potrzebujesz tego.
FUNKCJA("accept_unresolvable_domains")dnl
dnl FUNKCJA("relay_based_on_MX")dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
Cwlocalhost.localdomain
Używając dyrektywy FEATURE, możesz włączyć tę lub inną funkcję programu sendmail. Na przykład funkcja mailertable została zaprojektowana w celu nadpisania routingu dla określonych domen. Możesz łatwo się rozwijać funkcjonalność sendmaila dodając potrzebne funkcje do pliku mc.
Załóżmy, że chcesz ukryć nazwy komputerów w domenie. Można to łatwo osiągnąć, dodając funkcję masquerade_envelope do pliku mc. Aby to zrobić, skopiuj plik redhat.mc do pliku hide_hosts.me i dodaj następujące wiersze na końcu pliku hide_hosts.me:
MASQUERADE_AS(moja-domena.com)dnl
FUNKCJA(masquerade_envelope)dnl
Następnie uruchom polecenie:
m4 /usr/share/sendmail-cf/cf/hide_hosts.me> /etc/sendmail.me
To wszystko! Nazwy węzłów zostaną ukryte. Opis pozostałych funkcji przedstawia tabela. 13.1.
funkcje programu sendmail Tabela 13.1
Funkcjonować | Opis |
---|---|
access_db | Definiuje tabelę dostępu. Ta tabela zawiera listę hostów, które mogą lub nie mogą wysyłać poczty przez Twój serwer pocztowy. Ta opcja jest skutecznie wykorzystywana do zwalczania spamu. Ochrona przed spamem została szczegółowo omówiona w sekcji o tej samej nazwie w Rozdz. 23 |
accept_unresolvable_domains | Umożliwia wysyłanie poczty do domen, których nie można rozpoznać |
bestmx_is-local | Wiadomości będą akceptowane tylko wtedy, gdy wpis serwera DNS MX wskazuje na ten serwer poczty. |
blacklist_recipients | „Czarna lista”. Kolejna opcja walki ze spamem. Wymaga do działania opcji access_db. |
dnsbl | Używany do czarnej listy, dnsbl jest skrótem od DNS Black List. Więcej wczesne wersje ta opcja została nazwana (Rozwiąż czarną listę) |
tablica domen | Używane do rozwiązywania nazw domen |
generyczna stabilna | Służy do zmiany adresu wysyłania w wiadomościach |
local_procmail | Określa, że poczta powinna być dostarczana przy użyciu lokalnego narzędzia procmail |
tablica pocztowa | Zastępuje routing dla określonych domen |
masquerade_cała_domena | Służy do maskowania (ukrywania) całej domeny. Ta funkcja musi być używany razem z dyrektywą MASQUERADE AS (lub MASQUERADE_DOMAIN), np. MASQUERADE_AS(f117.ru)dnl |
masquerade_envelope | Pozwala ukryć nazwy hostów domen. Zastępuje pole otrzymane z nagłówka wiadomości przed przekazaniem wiadomości do innej |
przeadresować | Służy do przekierowywania na inny serwer pocztowy. Oznacza odmowę przyjęcia poczty z wiadomością proszę spróbować (spróbuj użyć tego adresu) |
relay_based_on_MX | Zezwala na przekazywanie poczty (przekaźnik) tylko dla hostów określonych w rekordach serwera MX DNS |
relay_hosts_only | Zezwala na przekazywanie tylko dla węzłów określonych w access_db |
relay_mail_from | Zezwala na przekazywanie tylko wtedy, gdy nadawca znajduje się na liście PRZEKAŹNIKÓW accessdb |
smrsz | Korzystanie z ograniczonej powłoki sendmail |
użyj_pliku_cf | Po określeniu sendmail będzie szukał w pliku sendmail.cf listy zaufanych użytkowników. |
użyj_pliku_cw | Po określeniu sendmail będzie szukał w pliku sendmail.cw listy lokalnych hostów. |
wirtualna tabela użytkownika | Konwertuje adres odbiorcy na lokalny adres użytkownika |
Plik /etc/mail/sendmail.cw zawiera listę wszystkich aliasów dla tego serwera poczty. Załóżmy, że nazwa twojego serwera to mail.dhsilabs.ru. Jeśli nadawca wyśle pocztę do [e-mail chroniony], pismo zostanie bezproblemowo dostarczone do legowiska użytkownika. Co jeśli ktoś wyśle list do [e-mail chroniony], to jej dostarczenie spowoduje pewne trudności, ponieważ nie jest jasne, do którego węzła domeny dhsilabs jest adresowana wiadomość? Rozwiązaniem tego problemu jest umieszczenie linii w pliku sendmail.cw.
Pojawił się w 1983 roku, ale jest aktywnie używany do dziś. Wśród kluczowych funkcji jest obsługa wielu platform, które istnieją dzisiaj, a także bezpłatne. Aplikacja jest dostarczana z otwartym kodem źródłowym. Oznacza to, że każdy może dodać do niego własną funkcjonalność lub dowolnie ją zmieniać. W systemie operacyjnym Ubuntu Sendmail, który jest konfigurowany za pomocą wiersza poleceń Linuksa, zakorzenił się dzięki dobremu wsparciu i bogatym funkcjom.
Procesor wiadomości - Sendmail - jest szeroko stosowany w świecie biznesu.
Dziś dość powszechny jest „procesor wiadomości” Sendmail Sentrion, który powstał z myślą o potrzebach dużych firm. Wyróżnia go wysoka wydajność i dobra integracja ze wszystkimi procesami biznesowymi. Sentrion proponuje korzystanie ze starszych aplikacji wraz z nowymi technologiami, które dobrze się zakorzeniły. Również aplikacja jest na tyle przyjazna, że pasuje do użytkowników domowych.
Instalacja programu
Musisz zainstalować Sendmaila w bazie serwer lokalny lub serwer WWW. W drugim przypadku agent pocztowy będzie bardziej funkcjonalny. Aby uzyskać wszystkie komponenty serwera WWW, potrzebujesz stosu komponentów LAMP. Można go znaleźć w repozytorium.
WAŻNY. Przed zainstalowaniem nowego oprogramowania nie zapomnij zaktualizować listy pakietów w lokalnym repozytorium za pomocą polecenia
"$ sudo apt-get update"
Instalacja Sendmaila rozpoczyna się od polecenia "sudo apt install sendmail", które pobierze pakiety agenta pocztowego.
mcedit /etc/hosts
"sudo sendmailconfig"
Następnie musisz ponownie uruchomić usługi samego programu, a także serwer WWW Apache:
"ponowne uruchomienie sudo /etc/init.d/sendmail"
"Ponowne uruchomienie sudo /etc/init.d/apache2"
W razie potrzeby możesz zainstalować narzędzia do pracy z pocztą:
"sudo zainstaluj mailutils"
Sprawdzamy testy wydajności całego systemu:
"wyślij swoją_pocztę< /dev/null»
gdzie „twoja_poczta” to aktualny adres pocztowy.
I na koniec sprawdźmy plik dziennika. To jest plik usługi pocztowej, w którym będą wyświetlane błędy instalacji:
"ogon -f /var/log/mail.log"
Pozostaje tylko przejść do skrzynki e-mail. Powinien już zawierać wiadomość testową.
Więc dowiedziałeś się więcej o programie Ubuntu o nazwie Sendmail, który okazał się dość łatwy do skonfigurowania. Jeśli masz pytania dotyczące innych aspektów pracy z programami dla Linuksa - poszukaj na nie odpowiedzi na stronach naszego serwisu!