Provided by: manpages-ro_4.27.0-1_all 

NUME
formail - (re)formator de e-mail
SINOPSIS
formail [+omite] [-total] [-bczfrktedqBY] [-p prefix]
[-D lung-maximă cache-id]
[-l dosar]
[-x câmp-antet] [-X câmp-antet]
[-a câmp-antet] [-A câmp-antet]
[-i câmp-antet] [-I câmp-antet]
[-u câmp-antet] [-U câmp-antet]
[-R câmp-vechi câmp-nou]
[-n [num-max-procese ]] [-m num-min-câmpuri] [-s [comanda [argument ...]]]
formail -v
DESCRIERE
formail este un filtru care poate fi utilizat pentru a forța corespondența în format de căsuță poștală,
pentru a efectua eludări `From ', pentru a genera anteturi de răspuns automat, pentru a face o simplă
transformare/extragere a antetului sau pentru a diviza un fișier de căsuță poștală/rezumat/articol.
Conținutul corespondenței/căsuței poștale/articolului va fi așteptat la intrarea standard.
În cazul în care formail trebuie să determine expeditorul mesajului, dar nu găsește niciunul, va înlocui
„foo@bar”.
Dacă formail este pornit fără nici o opțiune de linie de comandă, va forța orice mesaj care vine de la
intrarea standard în formatul de căsuță poștală și va eluda toate liniile false „From ” cu un „>”.
OPȚIUNI
-v formail va imprima numărul versiunii sale și va ieși.
-b Nu eludează niciun antet fals de căsuță poștală (de exemplu, liniile care încep cu „From”).
-p prefix
Definește un alt prefix de citare. Dacă nu este specificat, acesta este implicit „>”.
-Y Se presupune formatul tradițional al căsuței poștale Berkeley, ignorând orice câmp Content-Length:.
-c Concatenează câmpurile continue din antet. Ar putea fi util la postprocesarea corespondenței cu
utilități de text standard (orientate pe linii).
-z Se asigură că există un spațiu între numele câmpului și conținut. Anulează câmpurile care conțin
doar un singur caracter de spațiere. Elimină spațiile albe de început și de sfârșit în câmpurile
extrase cu -x.
-f Forțează formail să paseze pur și simplu orice format care nu este o căsuță poștală poștală (de
exemplu, nu generează o linie `From ' ca primă linie).
-r Generează un antet de răspuns automat. În mod normal, acest lucru va înlătura toate câmpurile
existente (cu excepția X-Loop:) din mesajul original; câmpurile pe care doriți să le păstrați
trebuie să fie denumite cu ajutorul opțiunii -i. Dacă folosiți această opțiune împreună cu -k,
puteți preveni ca corpul mesajului să fie „eludat” specificând și -b.
-k La generarea antetului de răspuns automat sau la extragerea câmpurilor, păstrează și corpul.
-t Are încredere că expeditorul a folosit o adresă de retur validă în antetul său. Acest lucru face ca
formail să selecteze expeditor antet în loc de expeditor plic pentru răspuns. Această opțiune ar
trebui utilizată la generarea antetelor de răspuns automat din articolele de știri sau atunci când
expeditorul mesajului așteaptă un răspuns.
-s Datele de intrare vor fi împărțite în mesaje de poștă electronică separate și vor fi introduse
într-un program, unul câte unul (pentru fiecare parte se pornește un nou program). -s trebuie să fie
ultima opțiune specificată, iar primul argument care urmează trebuie să fie numele unui program,
orice alt argument va fi transmis către acesta. Dacă omiteți programul, formail va concatena pur și
simplu mailurile divizate din nou la ieșirea standard. A se vedea FILENO.
-n [num-max-procese]
Îi indică lui formail să nu aștepte ca fiecare program să se termine înainte de a-l începe pe
următorul (face ca diviziunile să fie procesate în paralel).
-e Nu este necesar ca liniile goale să fie precedate de antetul unui nou mesaj (de exemplu, mesajele
pot începe pe fiecare linie).
-d Îi indică lui formail că mesajele pe care trebuie să le împartă nu trebuie să fie în format strict
de căsuță poștală (de exemplu, vă permite să împărțiți rezumate/articole sau formate de căsuță
poștală non-standard). Aceasta dezactivează recunoașterea câmpului Content-Length:.
-l dosar
Generează un rezumat al jurnalului în același stil ca și procmail. Acesta include întreaga linie
„From ”, câmpul de antet Subject:, dosarul și dimensiunea mesajului în octeți. Comanda «mailstat»
poate fi utilizată pentru a rezuma jurnalele în acest format.
-B Face ca formail să presupună că împarte un fișier rmail BABYL.
-m num-min-câmpuri
Vă permite să specificați numărul de câmpuri de antet consecutive pe care formail trebuie să le
găsească înainte de a decide că a găsit începutul unui mesaj nou; valoarea implicită este 2.
-q Îi indică lui formail să (detecteze în continuare, dar) să fie discret cu privire la erorile de
scriere, mesajele duplicate și câmpurile Content-Length: nepotrivite. Această opțiune este activată
în mod implicit; pentru a face să afișeze mesajele, utilizați -q-.
-D lung-maximă cache-id
formail va detecta dacă Message-ID al mesajului curent a fost deja văzut folosind un fișier idcache
de aproximativ lung-max dimensiune. În cazul în care nu divizează, va returna succes dacă a fost
găsit un duplicat. În cazul în care divizează, nu va emite mesaje duplicate. Dacă este utilizată
împreună cu -r, «formail» va căuta adresa de poștă electronică a expeditorului plicului în loc să
caute Message-ID.
-x câmp-antet
Extrage conținutul acestui câmp-antet din antet. Continuările de linie vor fi lăsate intacte; dacă
doriți valoarea pe o singură linie, atunci veți avea nevoie și de opțiunea -c.
-X câmp-antet
La fel ca -x, dar păstrează/include și numele câmpului.
-a câmp-antet
Adaugă un câmp câmp-antet personalizat în antet; dar numai dacă nu există încă un câmp similar. Dacă
specificați unul dintre numele câmpurilor Message-ID: sau Resent-Message-ID: fără conținutul
câmpului, formail va genera un ID unic al mesajului pentru dumneavoastră.
-A câmp-antet
Adaugă un câmp-antet personalizat la antet în orice caz.
-i câmp-antet
La fel ca -A, cu excepția faptului că toate câmpurile similare existente sunt redenumite prin
adăugarea unui prefix „Old-”. În cazul în care câmp-antet constă doar dintr-un nume de câmp, acesta
nu va fi adăugat.
-I câmp-antet
La fel ca -i, cu excepția faptului că toate câmpurile similare existente sunt pur și simplu
eliminate. În cazul în care câmp-antet constă doar dintr-un nume de câmp, se șterge efectiv câmpul.
-u câmp-antet
Face ca prima apariție a acestui câmp să fie unică și, prin urmare, șterge toate aparițiile
ulterioare ale acestuia.
-U câmp-antet
Face ca ultima apariție a acestui câmp să fie unică și, prin urmare, șterge toate aparițiile
anterioare ale acestuia.
-R câmp-vechi câmp-nou
Redenumește toate aparițiile numelui de câmp câmp-vechi în câmp-nou.
+omite
Omite primele mesaje omite în timpul divizării.
-total
Emite cel mult total mesaje în timpul divizării.
NOTE
La redenumirea, eliminarea sau extragerea câmpurilor, se pot utiliza nume de câmp parțiale pentru a
specifica toate câmpurile care încep cu valoarea specificată.
În mod implicit, atunci când generează un antet de răspuns automat, «procmail» selectează expeditorul
plicului din mesajul de intrare. Acest lucru este corect pentru mesajele de concediu și alte răspunsuri
automate referitoare la direcționarea sau livrarea mesajului original. În cazul în care expeditorul
așteaptă un răspuns sau răspunsul este generat ca răspuns la conținutul mesajului original, atunci
trebuie utilizată opțiunea „-t”.
RFC822, standardul original care reglementează formatul mesajelor de poștă electronică în Internet, nu a
specificat dacă câmpurile de antet Resent (cele care încep cu „Resent-”, cum ar fi „Resent-From:”)
trebuie luate în considerare la generarea unui răspuns. De atunci, utilizarea recomandată a antetelor
„Resent” (retrimitere) a evoluat în sensul că acestea sunt considerate ca fiind pur informative și nu
trebuie utilizate la generarea unui răspuns. Acest lucru a fost codificat în RFC2822, noul standard
„Internet Message Format”, care prevede în parte:
Câmpurile „Resent” (retrimitere) sunt utilizate pentru a identifica un mesaj ca fiind reintrodus
în sistemul de transport de către un utilizator. Scopul utilizării câmpurilor de retrimitere este
ca mesajul să apară destinatarului final ca și cum ar fi fost trimis direct de expeditorul
original, toate câmpurile originale rămânând neschimbate....Acestea NU TREBUIE să fie utilizate în
procesarea normală a răspunsurilor sau a altor acțiuni automate de acest tip asupra mesajelor.
În timp ce formail ignoră acum antetele „Resent” atunci când generează răspunsuri cu antet, versiunile de
formail anterioare versiunii 3.14 acordau acestor antete o prioritate ridicată. În cazul în care vechiul
comportament este necesar pentru aplicații consacrate, acesta poate fi specificat prin apelarea «formail»
cu opțiunea „-a Resent-” în plus față de opțiunile „-r” și „-t”. Această utilizare este depreciată și nu
ar trebui să fie folosită în aplicații noi.
MEDIU
FILENO
În timpul împărțirii, formail atribuie acestei variabile numărul mesajului care este în curs de
ieșire. Prin predefinirea FILENO, puteți modifica numărul inițial al mesajului utilizat și lățimea
ieșirii cu umplutură de zero-uri. Dacă FILENO nu este definită, aceasta va avea valoarea implicită
000. Dacă valoarea variabilei FILENO nu este goală și nu conține un număr, generarea FILENO este
dezactivată.
EXEMPLE
Pentru a diviza un rezumat se folosește de obicei:
formail +1 -ds >>căsuța_poștală_aleasă_de_dvs.
sau
formail +1 -ds procmail
Pentru a elimina toate câmpurile Received: din antet:
formail -I Received:
Pentru a elimina toate câmpurile din antet, cu excepția From: și Subject::
formail -k -X From: -X Subject:
Pentru a înlocui câmpul Reply-To: dintr-un antet, puteți folosi:
formail -i "Reply-To: foo@bar"
Pentru a converti un fișier de căsuță poștală non-standard într-un fișier de căsuță poștală standard,
puteți utiliza:
formail -ds <căsuța_poștală-veche >>căsuța_poștală-nouă
Sau, dacă aveți un agent de poștă electronică foarte tolerant:
formail -a Date: -ds <căsuța_poștală-veche >>căsuța_poștală-nouă
Pentru a extrage antetul unui mesaj:
formail -X ""
sau
sed -e '/^$/ q'
Pentru a extrage corpul unui mesaj:
formail -I ""
sau
sed -e '1,/^$/ d'
CONSULTAȚI ȘI
mail(1), sendmail(8), procmail(1), sed(1), sh(1), RFC822, RFC2822, RFC1123
DIAGNOSTICARE
„Can't fork” -- Nu se poate bifurca
Prea multe procese pe această mașină.
„Content-Length: field exceeds actual length by nnn bytes” -- Content-Length: câmpul depășește lungimea
reală cu nnn octeți
Câmpul „Content-Length:” din antet a specificat o lungime mai mare decât corpul
real. Acest lucru face ca acest mesaj să absoarbă un număr de mesaje ulterioare
din aceeași căsuță poștală.
„Couldn't write to stdout” -- Nu s-a putut scrie la ieșirea standard (stdout)
Programul la care formail a încercat să se conecteze (folosind o conductă) nu a
acceptat toate datele pe care formail i le-a trimis; acest diagnostic poate fi
suprimat prin opțiunea -q.
„Duplicate key found: x” -- Cheie duplicată găsită: x
Message-ID sau expeditorul x din acest mesaj a fost găsit în idcache; acest
diagnostic poate fi suprimat cu ajutorul opțiunii -q.
„Failed to execute "x" (nu s-a reușit să se execute „x”)
Programul nu se află în rută sau nu este executabil.
„File table full” -- Tabelul de fișiere este plin
Prea multe fișiere deschise pe această mașină.
„Invalid field-name: "x"” -- Nume de câmp nevalid: „x”
Numele de câmp specificat „x” conține caractere de control sau nu poate fi un nume
de câmp parțial pentru această opțiune.
AVERTISMENTE
Vă puteți scuti pe dumneavoastră și pe alții de o mulțime de necazuri dacă încercați să evitați
utilizarea acestei funcții de răspuns automat la mesajele care vin prin listele de distribuție. În
funcție de formatul mesajului primit (care, la rândul său, depinde atât de agentul de poștă al
expeditorului original, cât și de configurația listei de corespondență), formail ar putea decide să
genereze un antet de răspuns automat care să răspundă la listă.
Urmând tradiția instrumentelor UN*X, formail va face exact ceea ce îi cereți, chiar dacă rezultă un mesaj
care nu este conform cu RFC822. În special, formail vă va permite să generați câmpuri de antet al căror
nume se termină cu un spațiu în loc de două puncte. Deși acest lucru este corect pentru linia de început
„From ”, această linie nu este un câmp de antet, ci mai degrabă separatorul de mesaje pentru formatul de
căsuță poștală mbox. Aparițiile multiple ale unei astfel de linii sau ale oricărui alt câmp de antet fără
două puncte vor fi considerate de multe programe de poștă electronică, inclusiv de formail însuși, ca
fiind începutul unui nou mesaj. Altele vor considera mesajul ca fiind corupt. Din această cauză, nu
trebuie să utilizați opțiunea -i cu linia „From ”, deoarece linia redenumită rezultată, „Old-From ”,
probabil că nu va face ceea ce doriți. Dacă doriți să salvați linia „From ” originală, redenumiți-o cu
opțiunea -R într-un câmp de antet legal, cum ar fi „X-From_:”.
ERORI
Atunci când formail trebuie să genereze o linie de început „From ”, aceasta va conține în mod normal data
curentă. Dacă formail primește opțiunea „-a Date:”, va folosi data din câmpul „Date:” din antet (dacă
este prezent). Cu toate acestea, deoarece formail îl copiază textual, formatul va fi diferit de cel
așteptat de majoritatea cititoarelor de e-mail.
Dacă formail este instruit să șteargă sau să redenumească linia principală „From ”, nu o va regenera
automat ca de obicei. Pentru a forța formail să o regenereze în acest caz, includeți -a 'From '.
În cazul în care formail nu este apelat ca primul program dintr-o conductă și i se solicită să împartă
datele de intrare în mai multe mesaje, formail nu se va încheia până când programul de la care primește
datele de intrare nu își închide ieșirea sau nu se termină singur.
În cazul în care formail este instruit să genereze un mesaj de răspuns automat, nu va pune niciodată mai
mult de o adresă în câmpul „To:”.
DIVERSE
formail este curat pe opt biți.
Atunci când formail trebuie să determine adresa expeditorului, este permisă orice adresă de corespondență
conformă cu RFC822. formail va reduce întotdeauna adresa la forma sa minimă (eliminând comentariile și
spațiile albe excesive).
Expresia regulată utilizată pentru a găsi ștampilele poștale „reale” este:
"\n\nFrom [\t ]*[^\t\n ]+[\t ]+[^\n\t ]"
Dacă se găsește un câmp Content-Length: într-un antet, formail va copia textual numărul de octeți
specificat în corpul mesajului înainte de a relua scanarea obișnuită a limitelor mesajului (cu excepția
cazului în care se presupune divizarea rezumatelor sau a formatului Berkeley mailbox).
Orice linie de antet care urmează imediat după linia principală „From ” și care începe cu „>From ” este
considerată ca fiind o continuare a liniei „From ”. Dacă i se cere să redenumească linia „From ”, formail
va schimba fiecare „>” de început în spațiu, transformând astfel aceste linii în continuări normale
RFC822.
NOTE
Apelarea formail cu opțiunile „-h” sau „-?” va face ca formail să afișeze o pagină de ajutor în linia de
comandă.
SOURCE
Acest program face parte din pachetul procmail mail-processing-package (v3.23pre) disponibil la
http://www.procmail.org/ sau ftp.procmail.org în pub/procmail/.
MAILINGLIST
Există o listă de corespondență pentru întrebări legate de orice program din pachetul procmail:
<procmail-users@procmail.org>
pentru a trimite întrebări/răspunsuri.
<procmail-users-request@procmail.org>
pentru cererile de abonare.
Dacă doriți să fiți informat cu privire la noile versiuni și corecțiile oficiale, trimiteți o cerere de
abonament la adresa
procmail-announce-request@procmail.org
(aceasta este o listă numai-pentru-citire).
AUTORI
Stephen R. van den Berg
<srb@cuci.nl>
Philip A. Guenther
<guenther@sendmail.com>
TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o
versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO
RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
ro@lists.sourceforge.net.
BuGless 2001/08/04 FORMAIL(1)