table of contents
        
      
      
    | FORMAIL(1) | General Commands Manual | FORMAIL(1) | 
NAZWA¶
formail - program do zmiany formatu listów (email)
SKŁADNIA¶
formail [+skip] [-total]
    [-bczfrktedqBY] [-p prefiks] [-D
    max_dług idcache] [-l folder] [-x
    pole_nagłówka] [-X
    pole_nagłówka] [-a
    pole_nagłówka] [-A
    pole_nagłówka] [-i
    pole_nagłówka] [-I
    pole_nagłówka] [-u
    pole_nagłówka] [-U
    pole_nagłówka] [-R stare_pole
    nowe_pole] [-n [max_proc ]] [-m
    min_pól] [-s [polecenie [arg ...]]]
  
  formail -v
OPIS¶
formail jest filtrem, który może być użyty do zmiany listu do formatu skrzynki pocztowej, komentowania `From ', generowania nagłówków automatycznej odpowiedzi, robienia prostego włączania i wyłączania pól nagłówka, dzielenia pliku z listami lub artykułami. Streszczenie (ang. digest)/skrzynka pocztowa/artykuł pobierane są ze standardowego wejścia.
Jeśli oczekiwane jest, że formail określi nadawcę listu, a nie może tego zrobić, to użyje `foo@bar'.
Jeśli formail zostanie uruchomiony bez żadnych
    opcji, zmieni format listu pobranego ze standardowego wejścia na
    format skrzynki pocztowej i poprzedzi wszystkie niepotrzebne pola
    `From ' znakiem `>'.
  
OPCJE¶
- -v
 - Formail wypisze informacje o wersji i zakończy działanie
    
 - -b
 - Nie usuwa pól nagłówka uważanych za
      niepotrzebne (np. linii zaczynających się od `From ').
    
 - -p prefiks
 - Zmiana znaku komentarza na prefiks. Jeżeli nie podano, formail
      używa `>'.
    
 - -Y
 - Przyjmuje tradycyjny (Berkeley) format skrzynki, ignorując wszelkie
      pola Content-Length:.
    
 - -c
 - Łączy podzielone w nagłówku pola. Może
      być wygodne przy późniejszej edycji listu
      standardowym (zorientowanym liniowo) narzędziem tekstowym.
    
 - -z
 - Zapewnia odstęp pomiędzy nazwą i
      zawartością pola. Usuwa pola zawierające tylko
      pojedynczy biały znak. Usuwa początkową i
      końcową twardą spację w polach
      wyciągniętych przy użyciu -x.
    
 - -f
 - Zmusza formail do pominięcia formatu innego niż skrzynka
      pocztowa (np. nie generuje `From ' jako pierwszej linii).
    
 - -r
 - Generuje nagłówek automatycznej odpowiedzi. Polega to zwykle
      na odrzuceniu wszystkich istniejących pól z oryginalnej
      wiadomości (oprócz X-Loop:). Pola, które mają
      być zachowane, muszą zostać podane w opcji -i.
      Jeśli zostanie użyte w połączeniu z -k,
      można zapobiec komentowaniu treści przez użycie
      -b.
    
 - -k
 - W czasie tworzenia nagłówka automatycznej odpowiedzi lub
      wyciągania pól, zachowaj treść listu.
    
 - -t
 - Zaufaj nadawcy, że podał właściwy adres
      zwrotny. Ta opcja powoduje, że formail wybierze do odpowiedzi
      nadawcę z nagłówka maila (tj.
      nagłówka określonego przez nadawcę) zamiast
      nadawcę z koperty maila (tj. nagłówka
      utworzonoego automatycznie przez serwer pocztowy) Opcja ta powinna
      być używana podczas tworzenia nagłówków
      automatycznej odpowiedzi na artykuły z grup dyskusyjnych (news)
      albo gdy nadawca wiadomości spodziewa się odpowiedzi.
    
 - -s
 - Treść na wejściu programu zostanie podzielona na
      oddzielne listy, a potem przekazana pojedynczo potokiem do programu (dla
      każdej części zostanie uruchomiony nowy program).
      -s musi być ostatnią podaną opcją.
      Pierwszy argument po tej opcji powinien być nazwą programu.
      Każdy następny zostanie przekazany programowi jako opcja.
      Jeśli opuścisz nazwę programu, formail
      połączy wszystkie listy w stdout. Zobacz także
      FILENO.
    
 - -n [max_proc]
 - Mówi formailowi, aby nie czekać na zakończenie
      każdego programu przed uruchomieniem następnego (sprawia,
      że poszczególne części są obrabiane
      równolegle). Opcjonalny parametr max_proc określa
      górny limit liczby jednocześnie uruchomionych
      procesów,
    
 - -e
 - Nie wymaga pustych linii przed początkiem nagłówka
      kolejnego listu (np. list może zaczynać się w
      każdej linii).
    
 - -d
 - Mówi formailowi, że wiadomości, które
      mają być podzielone nie muszą być w sztywnym
      formacie skrzynki pocztowej (pozwala to na dzielenie
      artykułów/streszczeń lub skrzynek w niestandardowych
      formatach). Ta opcja wyłącza rozpoznawanie pola
      Content-Length:
    
 - -l folder
 - Tworzy plik z logiem w takim samym formacie jak procmail. Zawiera on
      całą linię "From ", nagłówek
      Subject:, nazwę foldera poczty oraz rozmiar wiadomości w
      bajtach. Poleceniem mailstat można wyświetlić
      podsumowanie logów w tym formacie.
    
 - -B
 - Sprawia, że formail przyjmuje, że będzie
      dzielił plik w formacie 'BABYL rmail'.
    
 - -m min_pól
 - Pozwala na podanie minimalnej liczby pól nagłówka
      przed stwierdzeniem, że może szukać początku
      kolejnej wiadomości. Standardowo ustawione na 2.
    
 - -q
 - Formail nie będzie wypisywał (ale nadal będzie
      wykrywał) błędów zapisu, takich samych
      wiadomości, błędnych pól
      Content-Length:. Ta opcja jest standardowo włączona.
      Aby wyświetlać te informacje użyj -q-.
    
 - -D max_dług idcache
 - Formail będzie sprawdzał czy Message-ID aktualnej
      wiadomości był już widziany - używając
      pliku idcache maksymalnie max_dług
      długości. Jeżeli nie dzieli, zwróci
      wartość prawidłową operację po
      znalezieniu duplikatu. Jeżeli dzieli, nie poda wiadomości,
      które już wystąpiły. Jeżeli zostanie
      użyte w połączeniu z opcją -r, formail
      popatrzy na adres pocztowy nadawcy zamiast na Message-ID.
    
 - -x pole_nagłówka
 - Wyciąga z nagłówka zawartość pola
      pole_nagłówka. Kontynuowane linie
      nagłówka nie będą łączone;
      jeżeli chcesz, aby wartość z pola
      nagłówka została wyświetlona w jednej linii,
      użyj opcji -c.
    
 - -X pole_nagłówka
 - Takie samo jak -x, ale zostawia także nazwę pola.
    
 - -a pole_nagłówka
 - Dodaje pole pole_nagłówka do nagłówka;
      ale tylko wtedy, gdy podobne pole jeszcze nie istnieje. Jeżeli
      podasz jako nazwę pola Message-ID: lub
      Resent-Message-ID: bez zawartości, wtedy formail utworzy
      niepowtarzalny message-ID.
    
 - -A pole_nagłówka
 - Dodaj pole pole_nagłówka do nagłówka
      bez względu na już istniejące.
    
 - -i pole_nagłówka
 - Takie jak -A, poza tym, że we wszystkich podobnych,
      istniejących polach zostanie dodane ``Old-'' na początku.
      Jeśli pole_nagłówka składa się
      tylko z nazwy pola, nie zostanie dodane.
    
 - -I pole_nagłówka
 - Takie jak -i, poza tym, że wszystkie podobne pola
      zostaną usunięte. Jeśli
      pole_nagłówka składa się tylko z nazwy
      pola, pole to zostanie całkowicie usunięte.
    
 - -u pole_nagłówka
 - Zrób pierwsze wystąpienie tego pola niepowtarzalnym,
      usuwając wszystkie jego kolejne wystąpienia.
    
 - -U pole_nagłówka
 - Zrób ostatnie wystąpienie tego pola niepowtarzalnym,
      usuwając wszystkie jego poprzednie wystąpienia.
    
 - -R stare_pole nowe_pole
 - Zmień wszystkie nazwy pola stare_pole na nowe_pole.
    
 - +skip
 - Pomiń pierwsze skip wiadomości w czasie dzielenia.
    
 - -total
 - Podaj najwyżej total podzielonych wiadomości.
    
 
UWAGI¶
Podczas zmieniania nazwy, usuwania lub wyciągania pól można użyć częściowych nazw pól, aby dopasować wszystkie pola, których nazwy zaczynają się od podanego łańcucha znaków.
Domyślnie, podczas generowania nagłówka automatycznej odpowiedzi, procmail wybiera nadawcę z koperty wiadomości. Jest to zachowanie poprawne w wypadku wysyłania informacji o przebywaniu odbiorcy na wakacjach i innych automatycznych odpowiedzi dotyczących drogi przesłania lub dostarczenia oryginalnej wiadomości. Jeżeli nadawca oczekuje odpowiedzi lub jeśli odpowiedź jest generowana na podstawie zawartości oryginalnej wiadomości, to powinno się użyć opcji -t.
RFC822, oryginalny standard dotyczący formatu internetowych wiadomości, nie określał, czy nagłówki Resent (te, które zaczynają się od `Resent-', np. `Resent-From:') powinny być brane pod uwagę podczas generowania odpowiedzi. Od tego czasu rekomendowane użycie nagłówków Resent ewoluowało i obecnie mają one znaczenie tylko informacyjne i nie są używane do generowane odpowiedzi. Zostało to opisane w RFC2822, nowym standardzie formatu wiadomości internetowych, który zawiera m.in. tę informację:
- Pola Resent identyfikują, jak wiadomość została powtórnie wprowadzona do systemu transportującego przez użytkownika. Celem używania nagłówków Resent jest, aby wiadomość, która dotarła do odbiorcy, była taka sama, jakby została bezpośrednio wysłana przez oryginalnego nadawcę, z niezmienionymi wszystkimi oryginalnymi polami nagłówka.... Pola te NIE MOGĄ być używane podczas zwykłego odpowiadania lub innych podobnych automatycznych akcji na wiadomościach.
 
Obecnie formail ignoruje nagłówki Resent przy
    generowaniu nagłówków odpowiedzi, jednakże
    wersje formaila wcześniejsze niż 3.14 dawały takim
    nagłówkom większy priorytet. Jeżeli pewna
    aplikacja wymaga starego zachowania formaila, można je
    zasymulować przez wywołanie formaila z opcją `-a
    Resent-' dodaną do opcji -r i -t. To użycie jest
    przestarzałe i nie powinno być stosowane w nowych aplikacjach.
  
ZMIENNE¶
- FILENO
 - W czasie dzielenia, formail dodaje numer wiadomości do tej
      zmiennej. Ustawiając FILENO, można zmienić numer
      pierwszej wiadomości oraz szerokość danych
      wyjściowych (dopełnianych zerami). Jeśli FILENO nie
      jest ustawione, przyjmie standardowo wartość 000.
      Jeśli FILENO nie jest puste i nie zawiera liczby, tworzenie FILENO
      zostanie wyłączone.
    
 
PRZYKŁADY¶
Aby podzielić pierwsze streszczenie zwykle można użyć:
formail +1 -ds >> twoja_skrzynka_pocztowa
lub
formail +1 -ds procmail
Aby usunąć z nagłówka wszystkie pola Received:
formail -I Received:
Aby usunąć z nagłówka wszystkie pola oprócz From: i Subject:
formail -k -X From: -X Subject:
Aby zastąpić wszystkie pola Reply-To:
formail -i "Reply-To: foo@bar"
Aby zmienić niestandardową skrzynkę pocztową na standardową można użyć:
formail -ds <stara_skrzynka >>nowa_skrzynka
Lub jeśli korzysta się z bardzo tolerancyjnego programu pocztowego:
formail -a Date: -ds <stara_skrzynka >>nowa_skrzynka
Aby wyciągnąć nagłówek z wiadomości:
formail -X ""
lub
sed -e '/^$/ q'
Aby wyciągnąć treść wiadomości:
formail -I ""
lub
sed -e '1,/^$/ d'
ZOBACZ TAKŻE¶
mail(1), binmail(1), sendmail(8), procmail(1), sed(1), sh(1), RFC822, RFC2822, RFC1123
DIAGNOSTYKA¶
- Can't fork
 - Zbyt wiele procesów na tym komputerze.
    
 - Content-Length: field exceeds actual length by nnn bytes
 - Pole Content-Length: w nagłówku jest ustawione na
      długość większą niż
      właściwa treść. To sprawia, że
      wiadomość wchłania następne wiadomości
      w tej samej skrzynce pocztowej.
    
 - Couldn't write to stdout
 - Program do którego formail przekazywał dane
      używając potoku nie przyjął wszystkich
      wysłanych danych: tę wiadomość można to
      zlikwidować opcją -q.
    
 - Duplicate key found: x
 - Message-ID lub nadawca x tej wiadomości został znaleziony w
      idcache; tę wiadomość można zlikwidować
      opcją -q.
    
 - Failed to execute "x"
 - Program nie znajduje się w katalogach podanych w PATH, lub nie jest
      wykonywalny.
    
 - File table full
 - Zbyt wiele otwartych plików.
    
 - Invalid field-name: "x"
 - Nazwa pola "x" zawiera znaki sterujące lub nie
      może być częściowym polem dla tej opcji.
    
 
OSTRZEŻENIA¶
Możesz zaoszczędzić nerwów sobie i innym jeżeli postarasz się unikać używania automatycznych odpowiedzi na listy przychodzące z list dyskusyjnych. Zależnie od formatu przychodzących listów (który zależy od programu pocztowego nadawcy i konfiguracji listy) formail może zdecydować o tworzeniu nagłówka automatycznej odpowiedzi skierowanego na listę.
Zgodnie z tradycją narzędzi UN*X-owych, formail
    zrobi dokładnie to o co go poprosisz, nawet jeżeli wynikowa
    wiadomość nie będzie zgodna ze standardem opisanym w
    RFC822. W szczególności formail pozwoli
    wygenerować pola nagłówka, które
    kończą się spacją zamiast dwukropkiem.
    Chociaż jest to poprawne dla początkowej linii `From ', jednak
    ta linia nie jest polem nagłówka, ale bardziej separatorem
    wiadomości w pliku o formacie mbox. Wielokrotne wystąpienia
    tej linii bądź jakiegokolwiek innego pola
    nagłówka pozbawionego dwukropka, będą
    uważane przez wiele programów pocztowych, w tym
    również przez formail, za początki nowych
    wiadomości. Inne programy mogą uważać takie
    wiadomości za uszkodzone. Z tego powodu nie powinieneś
    używać opcji -i z linią `From ', gdyż
    powstałe w wyniku tej opcji pole `Old-From ' nie jest prawdopodobnie
    tym, o co chodzi. Jeśli chcesz zachować oryginalną
    linię `From ', użyj opcji -R do zmienienia jej nazwy na
    poprawne pole nagłówka, takie jak `X-From_:'.
  
BŁĘDY¶
Kiedy formail tworzy poprzedzającą linię z `From ' zwykle będzie ona zawierała datę. Jeżeli formail dostanie opcję `-a Date:', użyje daty z pola `Date:' nagłówka (jeżeli będzie istniało). Jednak, ponieważ formail kopiuje zawartość tego pola, jego format będzie się różnił od tego, który jest oczekiwany przez większość programów pocztowych.
Jeśli formail zostanie poinformowany, aby kasować lub zmieniać nazwę linii `From ', nie odtworzy jej jak zwykle automatycznie. Aby zmusić go do tego w tym wypadku należy dodać -a 'From '.
Jeśli formail nie jest wywoływany jako pierwszy program w potoku i każe mu się dzielić wejście na kilka wiadomości, to nie zakończy działania dopóki program, od którego otrzymuje dane nie zamknie się.
Jeśli formail ma wygenerować automatyczną
    odpowiedź, to nigdy nie umieści więcej
    niż jednego adresu w polu `To:'.
  
RÓŻNE¶
Formail przekazuje czyste 8 bitów.
Kiedy formail musi stwierdzić adres nadawcy, dozwolony jest każdy adres zgodny z RFC 822. Formail będzie zawsze obcinał adres do jego najkrótszej formy (usuwając komentarze i spacje).
Wyrażenie, które jest używane, aby znaleźć znaczniki początku wiadomości ma postać:
"\n\nFrom [\t ]*[^\t\n ]+[\t ]+[^\n\t ]"
Jeśli pole Content-Length: zostanie znalezione w nagłówku, formail skopiuje określoną liczbę bajtów, przed ponownym zaczęciem szukania początków wiadomości (poza dzieleniem streszczeń lub skrzynek Berkeley, kiedy format jest przybrany).
Jakiekolwiek linie nagłówka bezpośrednio następujące po początkowej linii `From ', które zaczynają się od `>From ' są uważane za kontynuację linii `From '. Jeżeli formail miałby zmienić nazwę linii `From ', to zmieni również każde początkowe `>' na spację, transformując tym samym te linie w normalne kontynuacje określone w RFC822.
UWAGI¶
Wywołanie formaila z opcjami -h or -? spowoduje wyświetlenie stron pomocy.
ŹRÓDŁO¶
Ten program jest częścią procmaila - pakietu do przetwarzania listów (v3.22) dostępnego na http://www.procmail.org/ lub na ftp.procmail.org na ftp.informatik.rwth-aachen.de w katalogu pub/procmail
LISTA DYSKUSYJNA¶
Istnieje lista dyskusyjna poświęcona pytaniom związanym z dowolnym programem pakietu procmail:
<procmail-users@procmail.org>
w celu zadania pytań i uzyskania odpowiedzi.
w celu zapisania się.
  
  Aby być informowanym o nowych wersjach i oficjalnych łatach,
    wyślij mail do
procmail-announce-request@procmail.org
  
AUTORZY¶
Stephen R. van den Berg
<srb@cuci.nl>
Philip A. Guenther
<guenther@sendmail.com>
| 1.46 | BuGless |