Poniższe akapity opisują bardziej skomplikowane zagadnienia, takie jak konfiguracja serwera poczty dla całej domeny.
W konfiguracji domyślnej FreeBSD powinniśmy mieć możliwość wysyłania poczty do hostów zewnętrznych pod warunkiem, że mamy poprawnie skonfigurowany plik /etc/resolv.conf lub mamy uruchomiony własny serwer nazw DNS. Jeżeli chcemy mieć możliwość odbierania poczty wysyłanej do MTA (np. sendmaila) uruchomionego na naszym komputerze z FreeBSD możemy to osiągnąć dwoma sposobami:
Powinniśmy uruchomić własny serwer nazw i posiadać własną domenę (np. FreeBSD.org)
Odbierać pocztę wysłaną bezpośrednio do naszego hosta. Można to osiągnąć przez dostarczanie poczty bezpośrednio do aktualnej nazwy DNS naszego komputera (np. example.FreeBSD.org).
Bez względu na to który z powyższych sposobów wybierzemy, aby odbierać pocztę bezpośrednio wysyłaną do naszego hosta musimy mieć przypisany do niego stały adres IP (nie może to być adres dynamiczny jaki otrzymujemy zazwyczaj przy połączeniach PPP). Jeżeli nasz host znajduje się za firewallem - firewall musi przekazywać ruch SMTP do naszego hosta. Jeżeli chcemy odbierać pocztę bezpośrednio na naszym hoście musimy się upewnić że spełniony jest jeden z warunków:
rekord MX z najwyższym priorytetem (najniższym numerem) w DNS wskazuje numer IP naszego hosta
nie ma żadnego wpisu MX w DNS dla naszego hosta
Spełnienie jednego w powyższych warunków umożliwi odbieranie poczty bezpośrednio na naszym serwerze.
Jeżeli polecenia wywołane poniżej dadzą wyniki podobne do przykładowych:
# hostname example.FreeBSD.org # host example.FreeBSD.org example.FreeBSD.org has address 204.216.27.XX
wysłanie poczty bezpośrednio na adres <yourlogin@example.FreeBSD.org> powinno zadziałać bez
problemu (zakładając, że sendmail jest poprawnie
skonfigurowany i uruchomiony na example.FreeBSD.org).
Jeżeli zamiast powyższych otrzymamy zbliżone do następujących wyniki:
# host example.FreeBSD.org example.FreeBSD.org has address 204.216.27.XX example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org
Cała poczta wysłana do naszego hosta (example.FreeBSD.org) zostanie dostarczona do serwera hub i użytkownika o tej samej nazwie (yourlogin) na tej maszynie, zamiast dotrzeć bezpośrednio do naszego hosta.
Powyższa informacja jest przechowywana przez serwer DNS. Rekord DNS, który zawiera informacje o trasowaniu poczty nazywa się rekordem MX (Mail eX). Jeżeli dla danego hosta nie istnieje przynajmniej jeden rekord MX w systemie DNS, poczta będzie dostarczna bezpośrednio do tego hosta na podstawie informacji o jego numerze IP.
Wpisy MX dla hosta freefall.FreeBSD.org wyglądały następująco:
freefall MX 30 mail.crl.net freefall MX 40 agora.rdrop.com freefall MX 10 freefall.FreeBSD.org freefall MX 20 who.cdrom.com
Jak widać freefall miał wiele rekordów MX. Host z najniższym numerem MX jest komputerem który, jeżeli jest dostępny, otrzymuje pocztę bezpośrednio. Jeżeli z jakiegoś względu nie jest on dostępny, pozostałe hosty (czasem zwane “zapasowymi serwerami poczty”) tymczasowo odbierają pocztę i jeżeli host z niższym numerem stanie się dostępny to poczta jest do niego przekazywana. W końcu poczta dociera do hosta z najniższym numerem MX.
Zapasowe serwery pocztowe powinny mieć osobne połączenia z siecią Internet, aby zapewnić maksymalną niezawodność. Nie powinniśmy mieć problemów z zapewnieniem sobie takiej usługi np. u naszego dostawcy Internetu.
Przygotowanie serwera poczty (ang. “mailhost”) wymaga przekierowania do niego wszelkiej poczty wysłanej do stacji roboczych znajdujących się w naszej domenie. W zasadzie chcemy “zarządać” wszelkiej poczty przeznaczonej dla dowolnego komputera w naszej domenie (w tym przykładzie *.FreeBSD.org) i przesłać ją do naszego serwera poczty. W ten sposób użytkownicy mogą odbierać korespondencję z jednego komputera zarządzającego pocztą.
Aby ułatwić sobie życie należy stworzyć konta użytkowników o takich samych nazwach na obywu maszynach (serwerze poczty i kliencie). Możemy do tego celu wykorzystać polecenie adduser(8).
Serwer poczty którego chcemy użyć, musi być wyznaczony jako wymiennik poczty dla każdego komputera w sieci. Można to osiągnąć konfigurując DNS w sposób podobny do poniższego:
example.FreeBSD.org A 204.216.27.XX ; Stacja robocza
MX 10 hub.FreeBSD.org ; Serwer poczty
Taka konfiguracja spowoduje że cała poczta przeznaczona dla stacji roboczej zostanie przekierowana do serwera poczty, niezależnie od adresu na który wskazuje rekord A. Poczta jest wysyłana do hosta na który wskazuje rekord MX.
Nie możemy skonfigurować tego samodzielnie, chyba że sami obsługujemy własny DNS. Jeżeli tak nie jest lub nie możemy uruchomić własnego serwera DNS powinniśmy skontatkować się z naszym ISP lub kimkolwiek kto zapewnia nam obsługę DNS.
Jeżeli obsługujemy wirtualne domeny pocztowe poniższa informacja może okazać się przydatna. W tym przykładzie załóżmy, że mamy klienta z własną domeną np. customer1.org i chcemy, by poczta wysłana do domeny customer1.org docierała do naszego serwera poczty mail.myhost.com. Wpis w naszym serwerze DNS powinien wyglądać następująco:
customer1.org MX 10 mail.myhost.com
Nie potrzebujemy rekordu A dla customer1.org jeżeli chcemy jedynie obsługiwać pocztę przeznaczoną dla tej domeny.
Notatka: Należy być świadomym że “ping-owanie” customer1.org nie będzie skuteczne dopóki nie będzie istniał rekord A dla tej domeny.
Ostatnią rzeczą do zrobienia jest “poinformowanie” sendmaila na naszym serwerze poczty dla jakich domen i/lub nazw hostów powinien akceptować pocztę. Jest kilka sposobów aby to osiągnąć. Każdy z poniższych zadziała poprawnie:
Należy dodać nazwę hosta lub domeny do pliku /etc/mail/local-host-names jeżeli używamy właściwości FEATURE(use_cw_file). Dla starszych wersji sendmaila (wcześniejszych niż 8.10) jest to plik /etc/sendmail.cw.
Należy dodać parametr Cwnasz.host.com do pliku /etc/sendmail.cf lub pliku /etc/mail/sendmail.cf jeżeli używamy sendmaila w wersji 8.10 lub wyższej.
| Poprzedni | Spis treści | Następny |
| Rozwiązywanie problemów | Początek rozdziału | SMTP przez UUCP |
Ten i inne dokumenty można pobrać z ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
W przypadku pytań o FreeBSD prosimy przeczytać dostępną dokumentację przed kontaktem z <questions@FreeBSD.org>.
W sprawie zapytań o tę dokumentację prosimy o kontakt z <doc@FreeBSD.org>.