NAZWA
sendmail - agent transportu poczty elektronicznej
SKŁADNIA
sendmail
[flagi] [adres ...]
newaliases
mailq [-v]
hoststat
purgestat
smtpd
OPIS
Sendmail wysyła wiadomość do jednego lub więcej odbiorców, przerzucając ją przez wszelkie niezbędne sieci. Sendmail może dokonywać przekazywania między sieciami, aby dostarczyć wiadomość do właściwego miejsca.
Sendmail nie jest komendą interfejsu użytkownika; do tego służą inne programy; sendmail używany jest jedynie do dostarczania preformatowanych wiadomości.
Bez podanych flag, sendmail czyta standardowe wejście, aż do napotkania znaku końca pliku lub linii zawierającej pojedynczą kropkę i wysyła kopię tej wiadomości do wszystkich wymienionych adresów. Określa używane sieci na podstawie składni i zawartości adresów.
Adresy lokalne są wyszukiwane w pliku i odpowiednio aliasowane. Aliasowanie można wyłączyć, poprzedzając adres odwrotnym ukośnikiem. Od wersji 8.10 w rozszerzeniach aliasowych jest włączony nadawca, np. jeśli "jan" wysyła do "grupy", a "grupa" zawiera "jana", to wiadomość będzie także dostarczana "janowi".
Parametry
-Ac |
Używa submit.cf nawet jeśli sposób wywołania nie wskazuje na to, że sendmail został uruchomiony w trybie wysyłania wiadomości [tj. został uruchomiony jako demon nasłuchujący na porcie SMTP - przyp. tłum.]. | ||
-Am |
Używa sendmail.cf nawet jeśli sposób wywołania wskazuje, że sendmail został uruchomiony [np. przez program mailx lub mutt - przyp. tłum.] w trybie wysyłania wiadomości. | ||
-Btyp |
Ustawia rodzaj ciała listu na typ. Obecnie dozwolone wartości to 7BIT i 8BITMIME. | ||
-ba |
Wchodzi w tryb ARPANET. Wszystkie linie wejściowe muszą kończyć się CR-LF i wszystkie generowane wiadomości będą miały na końcu CR-LF. Poza tym, pola "From:" i "Sender:" są przeszukiwane w celu znalezienia nazwy nadawcy. | ||
-bC |
Check the configuration file. | ||
-bd |
Działa jako demon. Sendmail się rozdzieli (patrz fork(2)) i uruchomi w tle, oczekując na gnieździe 25 na nadchodzące połączenia SMTP. Jest to zwyczajowy sposób uruchamiania z /etc/rc. | ||
-bD |
To samo, co -bd, lecz powoduje uruchomienie się sendmaila jako procesu pierwszoplanowego (nie wywołuje fork()). | ||
-bh |
Drukuje trwałą bazę danych stanów komputerów. | ||
-bH |
Usuwa przeterminowane wpisy z trwałej bazy danych stanów komputerów. | ||
-bi |
Inicjuje bazę aliasów. | ||
-bm |
Dostarcza pocztę w normalny sposób (domyślne). | ||
-bp |
Wyświetla zawartość kolejki (kolejek). | ||
-bP |
Wyświetla liczbę wpisów w kolejce (kolejkach); dostępne tylko, gdy włączone jest wsparcie dla pamięci dzielonej. | ||
-bs |
Używa na standardowym wejściu i wyjściu protokołu SMTP opisanego w RFC 821. Flaga ta powoduje włączenie wszystkich operacji flagi -ba kompatybilnych z SMTP. | ||
-bt |
Działa w trybie testowania adresu. Tryb ten odczytuje adresy i pokazuje etapy ich obróbki; może to być używane do testowania tablic konfiguracji. | ||
-bv |
Tylko weryfikuje nazwy — nie próbuje zebrać lub dostarczyć wiadomości. Tryb ten jest używany zwykle do sprawdzania poprawności nazw użytkowników lub list dyskusyjnych. | ||
-Cplik |
Używa alternatywnego pliku konfiguracyjnego. Sendmail pozbywa się dodatkowych uprawnień (set-user-ID lub set-group-ID), jeśli zostanie podany alternatywny plik konfiguracyjny. |
-D plik_dziennika
Zapisuje komunikaty debugowania do podanego pliku zamiast na standardowe wyjście.
-dkategoria.poziom...
Ustawia znacznik debugowania
dla kategorii na poziom. Kategoria jest
albo liczbą całkowitą, albo nazwą
określającą dany temat, a poziom jest
liczbą całkowitą określającą
żądany poziom komunikatów debugowania.
Wyższe poziomy oznaczają więcej
komunikatów. Można podać więcej
niż jeden znacznik, rozdzielając je przecinkami.
Listę numerów kategorii debugowania można
znaleźć w pliku TRACEFLAGS w kodach
źródłowych sendmaila.
Opcja -d0.1 wyświetla wersję programu
sendmail i opcje, z którymi został
skompilowany.
Większość innych kategorii jest
użyteczna tylko podczas pracy z kodem
źródłowym sendmaila i tam jest
udokumentowana.
-Fpełna_nazwa
Ustawia pełną nazwę nadawcy.
-fnazwa
Ustawia nazwę osoby wymienionej w polu "from" (tj. nazwę nadawcy umieszczonego na kopercie maila). Adres ten może być także użyty w nagłówku "From:", jeżeli nagłówek ten nie występuje podczas pierwotnego wysyłania wiadomości. Adres nadawcy z koperty używany jako adresat notyfikacji o stanie dostarczenia wiadomości, a także może pojawiać się w nagłówku "Return-Path:". Opcja -f może być używana tylko i wyłącznie przez zaufanych ("trusted") użytkowników (zazwyczaj root, daemon oraz network) lub przez użytkowników, którzy podadzą jako jej wartość swój adres e-mail. W przeciwnym wypadku do wiadomości dodany zostanie nagłówek "X-Authentication-Warning:".
-G |
Przekaźnik (brama) wiadomości, na przykład gdy rmail wywoła sendmaila. | ||
-hN |
Ustawia licznik hopów na N. Licznik ten jest zwiększany za każdym przetworzeniem listu. Gdy sięgnie limitu, list zwracany jest z komunikatem o błędzie, jako ofiara pętli aliasowej. Jeśli opcja ta nie jest podana, linie "Received:" nie są zliczane. | ||
-i |
Do not strip a leading dot from lines in incoming messages, and do not treat a dot on a line by itself as the end of an incoming message. This should be set if you are reading data from a file. |
-L etykieta
Ustawia identyfikator używany w komunikatach sysloga na podaną etykietę.
-N dsn |
Ustawia powiadamianie o statusie dostarczenia na wartość dsn, która albo może być równa "never" dla braku powiadomień, albo może być oddzieloną przecinkami listą wartości: "failure", aby być powiadamianym po niepowiedzeniu się dostarczenia, "delay", aby być powiadamianym po opóźnieniu dostarczenia, oraz "success", aby być powiadamianym o poprawnym dostarczeniu wiadomości. | ||
-n |
Nie robi aliasowania. |
-O opcja=wartość
Ustawia opcję opcja na wartość wartość. Postać ta używa długich nazw. Szczegóły można znaleźć poniżej.
-ox wartość
Ustawia opcję x na określoną wartość. Ta postać używa nazw jednoznakowych. Krótkie nazwy nie są opisane w tym podręczniku; szczegóły można znaleźć w Sendmail Installation and Operation Guide.
-pprotokół
Ustawia nazwę protokołu używanego do odbierania wiadomości. Może to być prosta nazwa protokołu, taka jak "UUCP", lub protokół i nazwa komputera, np. "UUCP:ucbvax".
-q[czas]
Przetwarza w podanych interwałach wiadomości zachowane w kolejce. Jeśli czas jest pominięty, przetwarza kolejkę tylko raz. Czas jest podawany jako liczba zawierająca jednostki, którymi mogą być: "s" oznaczające sekundy, "m" — minuty, "h" — godziny, "d" — dni i "w" — tygodnie. Na przykład "-q1h30m" oraz "-q90m" ustawiają timeout na półtorej godziny. Domyślnie sendmail będzie działał w tle. Opcja ta może być bezpiecznie używana z -bd.
-qp[czas]
Podobna do -qczas, z tym wyjątkiem, że zamiast okresowego tworzenia nowych dzieci do przetwarzania kolejki, sendmail tworzy dla każdej kolejki po jednym dziecku, które albo będzie przetwarzać kolejkę, albo będzie uśpione. Czas uśpienia jest podany jako argument, domyślnie wynosi 1 sekundę. Proces zawsze będzie spał co najmniej przez 5 sekund, jeśli kolejka była pusta podczas jej wcześniejszego przetwarzania.
-qf |
Przetwarza zachowane wiadomości w kolejce tylko raz. Działa jako proces pierwszoplanowy (nie wywołuje fork()). |
-qGnazwa
Przetwarza zadania z grupy kolejek o podanej nazwie.
-q[!]Ipodciąg
Ogranicza przetwarzane zadania do zawierających podciąg lub — jeśli podano ! — go niezawierających w identyfikatorze kolejki.
-q[!]Qpodciąg
Ogranicza przetwarzane zadania do będących w kwarantannie i zawierających podciąg lub — jeśli podano ! — go niezawierających w przyczynie kwarantanny.
-q[!]Rpodciąg
Ogranicza przetwarzane zadania do zawierających podciąg lub — jeśli podano ! — go niezawierających w nazwie jednego z odbiorców.
-q[!]Spodciąg
Ogranicza przetwarzane zadania do tych, zawierających podciąg lub — jeśli podano ! — go niezawierających w nazwie nadawcy.
-Q[powód]
Umieszcza elementy zwykłej kolejki w kwarantannie, jeśli podano jej powód jako argument tej opcji. Jeśli nie podano powodu, to kończy kwarantannę elementów, które w niej były. Należy używać tego z pewnym rodzajem dopasowań elementów spośród rodzajów opisanych powyżej.
-R return
Ustawia liczbę wiadomości zwracanych przy odbijaniu listu. Parametr return może mieć wartość "full", aby zwracać całą wiadomość, lub "hdrs", aby zwracać jedynie nagłówki. W tym drugim przypadku także odbicia lokalnych wiadomości zawierają tylko nagłówki.
-rnazwa
Alternatywna i przedawniona postać flagi -f.
-t |
Szuka odbiorców w wiadomości. W poszukiwaniu odbiorców, sendmail poszuka w wiadomości linii To:, Cc: oraz Bcc:. Nagłówek Bcc: zostanie usunięty przed dalszą transmisją wiadomości. |
-V envid
Ustawia oryginalny identyfikator koperty. Jest to rozprzestrzeniane przez SMTP do serwerów obsługujących powiadomienia DSN i zwracane w wiadomościach o błędach, zgodnych z DSN.
-v |
Wchodzi w tryb gadatliwy. Rozwijanie aliasów będzie ogłaszane, itp. |
-X plik_dziennika
Loguje cały przepływ do wskazanych plików dziennika. Powinno być używane tylko jako ostatni sposób debugowania błędów mailera. Będzie bardzo szybko logować duże ilości danych.
-- |
Kończy przetwarzanie parametrów i używa pozostałych argumentów linii poleceń jako adresów. |
Opcje
Istnieje również spora liczba opcji
przetwarzania, które można ustawić.
Zazwyczaj są używane tylko przez administratora
systemu. Opcje mogą być ustawiane albo z linii
komend, przy użyciu flagi -o (dla nazw
krótkich) lub -O (dla nazw długich), albo
w pliku konfiguracyjnym. Oto częściowa lista,
ograniczona do tych opcji, które mogą być
przydatne w linii poleceń i pokazuje tylko długie
nazwy; kompletna lista (i szczegóły) znajduje
się w "Sendmail Installation and Operation
Guide". Opcje to:
AliasFile=plik
Używa alternatywnego pliku z aliasami.
HoldExpensive
Na mailerach, z którymi połączenie jest kosztowne, nie inicjuje natychmiastowych połączeń. Wymaga to kolejkowania.
CheckpointInterval=N
Sprawdza plik kolejki po każdych N pomyślnych dostarczeniach (domyślnie 10). Zapobiega to kosztownym dostarczaniom duplikatów, kiedy wysyłanie na duże listy dyskusyjne zostanie przerwane padem systemu.
DeliveryMode=x
Ustawia tryb dostarczania na x. Tryby dostarczania to: "i" dla interaktywnego dostarczania (synchronicznego), "b" dla dostarczania w tle (asynchronicznego), "q" dla kolejkowania - np. właściwe dostarczenie będzie dokonane w następnym uruchomieniu kolejki, "d" dla dostarczania odłożonego, które jest tym samym, co "q", lecz unikane sa podglądy baz danych mających ustawioną opcję -D (mapa komputerów ma ją domyślnie ustawioną).
ErrorMode=x
Ustawia przetwarzanie błędów na tryb x. Poprawne tryby to: "m" do odsyłania pocztą komunikatu o błędzie, "w" do wypisania komunikatu o błędzie (lub odesłania go z powrotem, jeśli nadawca nie jest zalogowany), "p" do wypisania błędów na terminal (domyślnie), "q" do zignorowania komunikatów o błędach (zwracany jest tylko status wyjścia),i "e" do robienia specjalnego przetwarzania dla BerkNet. Jeśli tekst wiadomości nie jest odsyłany przez tryby "m" lub "w" i jeśli nadawca jest lokalny, to kopia wiadomości jest doklejana do pliku dead.letter w katalogu domowym nadawcy.
SaveFromLine
Zachowuje będące w stylu Uniksa linie From z początku wiadomości.
MaxHopCount=N
Maksymalna liczba razy, kiedy wiadomość może przeżyć "hop", zanim sendmail zdecyduje, że jest zapętlona.
IgnoreDots
Nie uważa kropek w pustych liniach za terminatory wiadomości.
SendMimeErrors
Wysyła komunikaty o błędach w formacie MIME. Jeśli nie jest ustawione, rozszerzenie DSN (Delivery Status Notification — Powiadomienie o stanie dostarczenia) SMTP jest wyłączane.
ConnectionCacheTimeout=timeout
Ustawia timeout cache połączenia.
ConnectionCacheSize=N
Ustawia rozmiar cache połączenia.
LogLevel=n
Ustawia poziom logowania.
MeToo=False
Nie wysyła wiadomości do "mnie" (nadawcy), jeśli znajduję się w rozwinięciu aliasowym.
CheckAliases
Sprawdza poprawność prawej strony (wartości) aliasów podczas polecenia newaliases(1).
OldStyleHeaders
Jeśli jest to ustawione, wiadomości mogą mieć starodawne nagłówki. Jeśli nie, wiadomość musi mieć nowe nagłówki (np. przecinki zamiast spacji między adresami). Jeśli jest ustawione, używany jest adaptacyjny algorytm, który rozpoznaje prawidłowo te nagłówki.
QueueDirectory=katalog_kolejki
Wybiera katalog kolejkowania wiadomości.
StatusFile=plik
Zachowuje statystyki do podanego pliku.
Timeout.queuereturn=czas
Ustawia timeout dla niedostarczonych wiadomości z kolejki na określony czas. Po tym, jak dostarczenie nie powiedzie się przez podany czas, wiadomość zostanie zwrócona do nadawcy. Domyślną wartością jest 5 dni.
UserDatabaseSpec=baza_danych_użytkowników
Jeśli jest to ustawione, to baza użytkowników jest używana podczas przekazywania wiadomości. Można uważać to za rozszerzenie mechanizmu aliasowania, poza tym, że ta baza może być rozproszona, a aliasy są lokalne na danym komputerze. Może to nie być dostępne, jeśli sendmail nie ma wkompilowanej opcji USERDB.
ForkEachJob
Forkuje każde zadanie podczas wykonywania kolejki. Może być przydatne dla maszyn z małą ilością pamięci.
SevenBitInput
Przekształca [przez usunięcie bitu ósmego - przyp. tłum.] przychodzące wiadomości do 7 bitów.
EightBitMode=tryb
Ustawia traktowanie ósmego bitu wejściowego dla siedmiobitowych celów na podany tryb: "m" (mimefy) konwertuje na siedmiobitowy format MIME, "p" (pass) przekaże wiadomość jako ośmiobitową (naruszając protokoły), a "s" (strict) odbije wiadomość.
MinQueueAge=timeout
Ustawia, jak długo zadanie musi przebywać w kolejce, zanim nastąpi próba jego wysłania.
DefaultCharSet=zestaw_znaków
Ustawia domyślny zestaw znaków używany do oznaczania danych 8-bitowych, które nie są w inny sposób oznaczone.
DialDelay=czas_spania
Jeśli otwarcie połączenia się nie powiedzie, zasypia na czas_spania sekund i próbuje ponownie. Przydatne w sieciach typu "dzwoń na żądanie".
NoRecipientAction=akcja
Ustawia zachowanie, gdy nie ma nagłówków odbiorców (To:, Cc: lub Bcc:) w wiadomości na podaną akcję: "none" pozostawia wiadomość bez zmian, "add-to" dodaje nagłówek To: z odbiorcami koperty, "add-apparently-to" dodaje nagłówek Apparently-To: z odbiorcami koperty, "add-bcc" dodaje pusty nagłówek Bcc: i "add-to-undisclosed" dodaje nagłówek "To: undisclosed-recipients:;".
MaxDaemonChildren=N
Sets the maximum number of children that an incoming SMTP daemon will be allowed to spawn at any time to N.
ConnectionRateThrottle=N
Ustawia na N maksymalną liczbę połączeń na sekundę na porcie SMTP.
W aliasach pierwszy znak nazwy może być pionową kreską, powodując interpretację reszty nazwy jako polecenie, do którego należy przesłać list przez potok. Może być niezbędne zacytowanie tej nazwy, by sendmail nie wyciął spacji między argumentami. Na przykład częstym aliasem jest:
msgs: "|/usr/bin/msgs -s"
Aliasy mogą mieć też składnię ":include:nazwa_pliku", prosząca sendmaila o odczytanie podanego pliku z listą odbiorców. Na przykład, alias taki jak:
poets: ":include:/usr/local/lib/poets.list"
odczyta /usr/local/lib/poets.list dla uzyskania listy adresów tworzących grupę.
Sendmail zwraca status wyjścia opisujący, co zrobił. Kody są zdefiniowane w <sysexits.h>:
EX_OK |
Szczęśliwe zakończenie dla wszystkich adresów. |
EX_NOUSER
Nierozpoznana nazwa użytkownika.
EX_UNAVAILABLE
Potrzebne zasoby nie były dostępne.
EX_SYNTAX
Błąd składni w adresie.
EX_SOFTWARE
Wewnętrzny błąd oprogramowania, włączający nieprawidłowe argumenty.
EX_OSERR
Tymczasowy błąd systemu operacyjnego, taki jak "nie można wykonać fork()".
EX_NOHOST
Nazwa hosta nierozpoznana.
EX_TEMPFAIL
Wiadomość nie mogła być dostarczona, lecz jest skolejkowana.
Sendmail uruchomiony jako newaliases przebuduje bazę aliasów. Uruchomiony jako mailq wypisze zawartość kolejki wiadomości. Uruchomiony jako hoststat wypisze bazę danych stanów komputerów. Uruchomiony jako purgestat usunie przeterminowane wpisy z bazy danych stanów komputerów. Uruchomiony jako smtpd przejdzie w tryb demona, tak jakby podano opcję -bd.
UWAGI
Sendmail często jest obwiniany o wiele problemów, które zasadniczo wynikają z innych problemów, takich jak pozwalające na zbyt wiele prawa dostępu do katalogów. Z tego powodu sendmail sprawdza prawa dostępu do katalogów i plików systemowych, określając, czy można ufać ich zawartości. Chociaż można wyłączyć te sprawdzenia, obniżając przy okazji bezpieczeństwo systemu, za pomocą opcji DontBlameSendmail, to jednak te uprawienia powinny zostać poprawione. Więcej informacji można uzyskać pod adresem:
http://www.sendmail.org/tips/DontBlameSendmail.html
PLIKI
Z
wyjątkiem pliku /etc/mail/sendmail.cf wszystkie
wymienione poniżej ścieżki są
określane w pliku /etc/mail/sendmail.cf. Dlatego
lokalizacje podane poniżej są tylko
przybliżeniami.
/etc/mail/aliases
czyste dane dla nazw aliasowych
/etc/mail/aliases.db
baza danych nazw aliasowych
/etc/mail/sendmail.cf
plik konfiguracyjny
/etc/mail/helpfile
plik pomocy
/var/lib/sendmail/sendmail.st
zebrane statystyki
/var/spool/mqueue/*
pliki tymczasowe
ZOBACZ TAKŻE
binmail(1), mail(1), rmail(1), syslog(3), aliases(5), mailaddr(7), rc(8)
DARPA Internet Request For Comments RFC819, RFC821, RFC822. Sendmail Installation and Operation Guide, No. 8, SMM.
US Patent Numbers 6865671, 6986037.
HISTORIA
Polecenie sendmail pojawiło się w 4.2BSD.
TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys [AT] dione.pl> i Robert Luberda <robert [AT] debian.org>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres <manpages-pl-list [AT] lists.net>.