table of contents
FORMAIL(1) | General Commands Manual | FORMAIL(1) |
formail - program do zmiany formatu listów
(e-mail)
formail [+skip] [-total]
[-bczfrktedqBY] [ -p prefiks] ...]]]
formail -v
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
">".
-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, zachowuje treść listu.
-t Ufa 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 utworzonego automatycznie przez serwer pocztowy). Opcja
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 pominie się 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ę folderu poczty oraz rozmiar wiadomości w
bajtach. Poleceniem mailstat(1) 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 należy
użyć -q-.
-D max_dług idcache Formail będzie sprawdzał, czy
Message-ID aktualnej wiadomości był już widziany -
używając pliku idcache o maksymalnej długości
max_dług bajtów.Jeżeli nie dzieli wiadomości,
zwróci wartość oznaczającą powodzenie operacji po
znalezieniu duplikatu. Jeżeli dzieli, nie wypisze 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 wiadomości.
-x pole_nagłówka Wyciąga z nagłówka
zawartość pola pole_nagłówka. Kontynuowane linie
nagłówka nie będą łączone; aby wartość
z pola nagłówka została wyświetlona w jednej linii,
należy użyć 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 jako nazwę pola zostanie
podane Message-ID: lub Resent-Message-ID: bez zawartości,
wtedy formail utworzy niepowtarzalny message-ID.
-A pole_nagłówka Dodaje 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 Robi pierwsze wystąpienie tego
pola niepowtarzalnym, usuwając wszystkie jego kolejne wystąpienia.
-U pole_nagłówka Robi ostatnie wystąpienie tego
pola niepowtarzalnym, usuwając wszystkie jego poprzednie
wystąpienia.
-R stare_pole nowe_pole Zmienia wszystkie nazwy pola
stare_pole na nowe_pole.
+skip Pomija pierwszych skip wiadomości w czasie
dzielenia.
-total Wypisuje co najwyżej total podzielonych
wiadomości.
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.
RFC 822, 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 generowana
odpowiedzi. Zostało to opisane w RFC 2822, nowym standardzie
formatu wiadomości internetowych, który zawiera m.in. tę
informację:
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.
Aby podzielić pierwsze streszczenie zwykle można użyć:
mail(1), sendmail(8), procmail(1), sed(1),
sh(1), RFC 822, RFC 2822, RFC 1123
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 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.
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 RFC 822. 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. Aby zachować oryginalną linię
"From ", należy użyć opcji -R do zmienienia
jej nazwy na poprawne pole nagłówka, takie jak "X-From_:".
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 potoku.
Jeśli formail ma wygenerować automatyczną odpowiedź, to
nigdy nie umieści więcej niż jednego adresu w polu
"To:".
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ć:
Wywołanie formaila z opcjami -h lub -? spowoduje
wyświetlenie stron pomocy. 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 w katalogu
pub/procmail/. Istnieje lista dyskusyjna poświęcona pytaniom
związanym z dowolnym programem pakietu procmail:
Aby być informowanym o nowych wersjach i oficjalnych łatach, wyślij mail do
Stephen R. van den Berg
- 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.
formail +1 -ds >> twoja_skrzynka_pocztowalub
formail +1 -ds procmailAby 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_skrzynkaLub jeśli korzysta się z bardzo tolerancyjnego programu pocztowego:
formail -a Date: -ds <stara_skrzynka >>nowa_skrzynkaAby 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'
"\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 RFC 822.
<procmail-users@procmail.org> w celu zadania pytań i uzyskania odpowiedzi.<procmail-users-request@procmail.org>
w celu zapisania się.
Aby być informowanym o nowych wersjach i oficjalnych łatach, wyślij mail do
procmail-announce-request@procmail.org(jest to lista tylko do odczytu).
<srb@cuci.nl>Philip A. Guenther
<guenther@sendmail.com>
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Jarek Woloszyn (PTM) <yossa@dione.ids.pl> 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ą 3.22 oryginału.2001/08/04 | BuGless |