sendmail - agent transportu poczty elektronicznej
sendmail [flagi] [adres ...]
newaliases
mailq [-v]
hoststat
purgestat
smtpd
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”.
- -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ę CRLF i wszystkie generowane
wiadomości będą miały na końcu CRLF.
Poza tym, pola „From:” i „Sender:” są
przeszukiwane w celu znalezienia nazwy nadawcy.
- -bC
- Sprawdza plik konfiguracyjny.
- -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
- Nie wycina początkowych kropek w wierszach nadchodzących
wiadomości i nie traktuje samotnej kropki jako końca
nadchodzącej wiadomości. Powinno to być ustawione,
jeśli odczytuje się dane z pliku.
- -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.
- -U
- Jeśli wysyłanie wiadomości za pomocą wiersza
poleceń wymaga użycia argumentu SMTPUTF8 dla
polecenia MAIL np. ponieważ nagłówek korzysta
z kodowania UTF-8, lecz adresy w wierszu polecenia są
wyłącznie w ASCII, to konieczne jest podanie tej opcji.
Dostępne tylko, gdy włączona jest obsługa
EAI i ustawiona opcja SMTPUTF8.
- -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.
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).
- 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.
- 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
- Ustawia na N maksymalną liczbę dzieci, które
demon SMTP może mieć naraz.
- 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.
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 w
podręczniku Sendmail Installation and Operation Guide
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
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.
http://www.sendmail.org/
US Patent Numbers 6865671, 6986037.
Polecenie sendmail pojawiło się w 4.2BSD.
Tłumaczenie niniejszej strony podręcznika: Przemek
Borys <pborys@dione.ids.pl>, Robert Luberda <robert@debian.org>
i Michał Kułach <michal.kulach@gmail.com>
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 listy dyskusyjnej
manpages-pl-list@lists.sourceforge.net.