NAZWA
formail - program do zmiany formatu listów (e-mail)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 ...]]]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, 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.
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. By default, when generating an auto-reply header formail selects the envelope sender from the input message. This is correct for vacation messages and other automatic replies regarding the routing or delivery of the original message. If the sender is expecting a reply or the reply is being generated in response to the contents of the original message then the -t option should be used. 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ę:- 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.
ŚRODOWISKO
- 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), sendmail(8), procmail(1), sed(1), sh(1), RFC 822, RFC 2822, RFC 1123DIAGNOSTYKA
- 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 ścieżce 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 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_:".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 potoku. 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 RFC 822.
UWAGI
Wywołanie formaila z opcjami -h lub -? spowoduje wyświetlenie stron pomocy.SOURCE
This program is part of the procmail mail-processing-package (v3.24) available at http://www.procmail.org/ or ftp.procmail.org in pub/procmail/.MAILINGLIST
Istnieje lista dyskusyjna poświęcona pytaniom związanym z dowolnym programem pakietu procmail:<[email protected]>
w celu zadania pytań i uzyskania odpowiedzi.
<[email protected]>
w celu zapisania się.
Aby być informowanym o nowych wersjach i oficjalnych łatach, wyślij mail do
(jest to lista tylko do odczytu).
AUTORZY
Stephen R. van den BergTŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Jarek Wołoszyn <[email protected]>, Robert Luberda <[email protected]> i Michał Kułach <[email protected]> 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 [email protected]BuGless |