NAZWA¶
dot-qmail - kontrola dostarczania wiadomości pocztowych
OPIS¶
Zazwyczaj program
qmail-local dostarcza każdą
nadchodzącą wiadomość do systemowej skrzynki
użytkownika,
domowy/Mailbox, gdzie
domowy jest
katalogiem domowym użytkownika.
Może jednak w zamian tego zapisać pocztę do innego pliku
lub katalogu, przesłać ją do innego adresu,
przekazać do listy dyskusyjnej, albo nawet wykonywać
jakieś programy, wszystko zgodnie ze wskazaniami użytkownika.
PLIK QMAIL¶
By zmienić zachowanie lokalnego agenta dostarczającego
qmail-local, należy ustawić plik
.qmail w katalogu
domowym.
.qmail zawiera jedną lub więcej linii. Każda linia
jest instrukcją dostarczania.
qmail-local podąża
za każdą podaną w kolejności instrukcją.
Istnieje pięć typów instrukcji dostarczania: (1)
komentarz; (2) program; (3) forward; (4) mbox; (5) maildir.
- (1)
- Linie komentarzy zaczynają się znakiem krzyżyka:
# to jest komentarz
qmail-local ignoruje te linie.
- (2)
- Linie programu do uruchomienia zaczynają się pionową
kreską:
|preline /usr/ucb/vacation djb
qmail-local traktuje resztę linii jako komendę
wołaną z poziomu sh. Więcej informacji
można uzyskać w qmail-command(8).
- (3)
- Linia typu forward zaczyna się znakiem ampersand:
&ja@moja.nowa.praca.com
qmail-local traktuje resztę tej linii jako adres poczty
elektronicznej; używa qmail-queue by przekazać dalej
wiadomość i dostarczyć ją pod wskazany adres.
Adres musi zawierać pełną nazwę
domenową; nie może zawierać dodatkowych spacji,
pojedynczych nawiasów, albo komentarzy:
# poniższe przykłady są błędne
&ja@nowa
&<ja@moja.nowa.praca.com>
& ja@moja.nowa.praca.com
&me@moja.nowa.praca.com (Nowy Adres)
Jeśli adres zaczyna się literą lub liczbą, to
można pominąć znak ampersand:
ja@moja.nowa.praca.com
Proszę zauważyć, że qmail-local pomija
nową zawartość linii Return-Path podczas
przekazywania wiadomości dalej.
- (4)
- Linia mbox zaczyna się znakiem ukośnika (ang. slash)
lub kropki, przy czym nigdy nie kończy się
ukośnikiem:
/home/djb/Mailbox.sos
qmail-local traktuje całą linię jako
nazwę pliku. Dołącza wiadomość
pocztową do tego pliku, używając w tym celu blokad w
stylu flocka, jeśli to tylko możliwe.
qmail-local przechowuje wiadomość pocztową w
formacie mbox opisanym w mbox(5).
UWAGA: Na wielu systemach, każdy kto może
odczytywać plik, może go też zablokować przy
pomocy flocka i uniemożliwić w ten sposób
dostarczanie przez qmail-local na zawsze. Nie należy nigdy
dostarczać poczty do publicznie dostępnych plików!
Jeśli qmail-local potrafi zablokować plik, ale
wystąpiły kłopoty z zapisem do niego (na
przykład, ponieważ dysk jest pełen), to plik zostanie
obcięty do swej poprzedniej, oryginalnej długości.
Nie zapobiega to jednak uszkodzeniu skrzynki odbiorczej, jeśli
system ulegnie wypadkowi podczas dostarczania poczty.
- (5)
- Linia maildir zaczyna się znakiem ukośnika lub
kropki, a kończy się ukośnikiem:
/home/djb/Maildir/
qmail-local traktuje całą linię jako
nazwę katalogu w formacie maildir. Bezpiecznie
zapamiętuje nadchodzącą wiadomość do
tego katalogu. Więcej informacji można znaleźć
w podręczniku maildir(5).
Jeśli
.qmail ma ustawiony bit wykonywalności, to nie
może zawierać żadnych linii typu program,
mbox lub
maildir. Jeśli
qmail-local ujrzy
którąkolwiek z tych linii, zakończy pracę i
wskaże na chwilową usterkę.
Gdy
.qmail jest kompletnie pusty (0 bajtów długości)
lub jeśli nie istnieje,
qmail-local postępuje
według instrukcji
defaultdelivery ustawionych przez
administratora systemu; normalnie
defaultdelivery wskazuje na
./Mailbox, więc
qmail-local dołącza
wiadomość pocztową do pliku
Mailbox w formacie
mbox.
.qmail może zawierać dodatkowe spacje i znaki tabulacji na
końcu linii. Linie puste są dozwolone, lecz nie mogą
występować jako pierwsze w pliku
.qmail.
Jeśli plik
.qmail jest zapisywalny przez wszystkich, wtedy
qmail-local wstrzymuje pracę i wskazuje na tymczasową
usterkę.
BEZPIECZNA EDYCJA PLIKU QMAIL¶
Przychodzące wiadomości mogą dotrzeć w każdym
momencie. Aby bezpiecznie edytować plik
.qmail, należy
ustawić najpierw bit przyklejenia (ang. sticky) dla katalogu domowego:
chmod +t $HOME
qmail-local odłoży chwilowo dostarczanie jakiejkolwiek
wiadomości do użytkownika, którego katalog domowy ma
ustawiony bit "sticky" (lub zapisywalny przez grupę lub
zapisywalny przez wszystkich, co nie powinno nigdy wystąpić).
Należy wykonać
chmod -t $HOME
po skończonej edycji! Dobrym pomysłem jest przetestowanie nowego
pliku
.qmail w następujący sposób:
qmail-local -n $USER ~ $USER ” ” ” ” ./Mailbox
ADRESY ROZSZERZEѶ
W systemie pocztowym
qmail steruje się wszystkimi lokalnymi
adresami, używając formy
użytkownik-cokolwiek, równie dobrze jak
użytkownik samodzielnie, gdzie
użytkownik jest
nazwą użytkownika. Dostarczanie do
użytkownik- cokolwiek jest kontrolowane przez plik
homedir/.qmail-cokolwiek. (Reguły te mogą
być zmienione przez administratora systemu; patrz
qmail-users(5)).
Użytkownik
alias kontroluje wszystkie inne adresy. Dostarczanie
lokalne jest kontrolowane przez plik
homedir/.qmail-local, gdzie
homedir jest
katalogiem domowym
aliasa.
W następującym opisie
qmail-local zajmuje się
wiadomością zaadresowaną do
lokalny@domena, gdzie
lokalny jest kontrolowany przez
.qmail-dod. I oto co on
czyni.
Jeśli
.qmail-dod jest pusty,
qmail-local
postępuje według wskazówek określonych przez
defaultdelivery ustawionych przez administratora.
Jeśli
.qmail-dod nie istnieje,
qmail-local
spróbuje użyć jakichś innych, domyślnych
plików
.qmail Na przykład, jeśli zamiast naszego
dod wstawimy
foo-bar, to
qmail-local spróbuje
najpierw
.qmail-foo-bar, potem
.qmail-foo-default, i w
końcu
.qmail-default. Jeśli żaden z plików
nie istnieje
qmail-local odbije wiadomość.
(Wyjątek: dla podstawowego adresu
użytkownika,
qmail-local traktuje nieistniejący plik
.qmail tak samo,
jak pusty plik
.qmail).
OSTRZEŻENIE: Ze względów bezpieczeństwa,
qmail-local zastępuje wszelkie kropki ciągu rozszerzenia
dod znakami myślnika zanim dokona sprawdzenia
.qmail-dod. Z powodu przyjętej konwencji,
qmail-local konwertuje wszelkie duże litery w ciągu
dod do liter małych.
Kiedy
qmail-local przesyła dalej wiadomość, zgodnie
z instrukcjami w
.qmail-dod (lub
.qmail-default), to
sprawdza, czy istnieje plik
.qmail-dod-owner.
Jeśli tak to używa adresu
lokalny-owner@domena jako kopertowego nadawcy (ang.
sender) przekazywanej dalej wiadomości. W przeciwnym wypadku
przepisywany jest oryginalny nadawca nadchodzącej wiadomości.
Wyjątek:
qmail-local zawsze przepisze oryginalnego
nadawcę kopertowego, jeśli adres ten był pusty lub
#@[], np. jest to wiadomość odbita.
qmail-local wspiera również
zmienne kopertowe
ścieżki powrotu (ang. variable envelope return paths,
VERPs): jeśli istnieje
.qmail-dod- i
.qmail- dod-owner-default także, to jako kopertowy
nadawca używany jest adres
lokalny-owner-@domena-@[] . Spowoduje to,
że odbiorca
odbiorca@hostodbiorcy ujrzy
nadawcę kopertowego jako
lokalny-owner-odbiorca=
hostodbiorcy@ domena.
OBSŁUGA BŁĘDÓW¶
Jeśli instrukcje doręczania zawiodą,
qmail-local
wstrzymuje natychmiastowo działanie i zgłasza usterkę.
qmail-local zajmuje się przesyłaniem dalej
wiadomości po wszelkich innych instrukcjach, więc jakikolwiek
błąd wcześniejszy może
zakłócić forwarding.
Jeśli program kończy działanie z kodem 99,
qmail-local ignoruje wszystkie początkowe linie pliku
.qmail, lecz wciąż ma na uwadze poprzednie linie typu
forward.
Aby ustawić niezależne od siebie instrukcje, gdzie chwilowy lub
krytyczny błąd w jednej z nich nie wpływa na inne,
należy przenieść każdą z instrukcji do
oddzielnego pliku
.qmail-dod i ustawić
główny plik
.qmail tak, żeby
przesyłać używając wszystkich plików
.qmail- dod. Należy zauważyć, że
qmail-local może sobie poradzić z dowolną
liczbą linii typu forward równocześnie.
ZOBACZ TAKŻE¶
envelopes(5),
maildir(5),
mbox(5),
qmail-users(5),
qmail-local(8),
qmail-command(8),
qmail-queue(8),
qmail-lspawn(8)
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika man
są: Paweł Wilk (PTM) <siefca@pl.qmail.org> i Robert
Luberda <robert@debian.org>.
Polskie tłumaczenie jest częścią projektu
manpages-pl; uwagi, pomoc, zgłaszanie błędów na
stronie
http://sourceforge.net/projects/manpages-pl/. Jest zgodne z
wersją
1.06 oryginału.