Provided by: manpages-ro_4.27.0-1_all 

NUME
procmail - procesator de corespondență electronică autonom
SINOPSIS
procmail [-ptoY] [-f de-la-cine]
[parametru=valoare |fișier-configurare] ...
procmail [-toY] [-f de-la-cine] [-a argument] ...
-d destinatar ...
procmail [-ptY] -m [parametru=valoare] ... fișier-configurare
[argument] ...
procmail -v
DESCRIERE
Pentru un ghid rapid, consultați secțiunea NOTE de la sfârșit.
procmail ar trebui să fie invocat automat prin intermediul mecanismului de fișier .forward imediat ce
sosește corespondența. Alternativ, atunci când este instalat de către un administrator de sistem, poate
fi invocat imediat din interiorul agentului de poștă. Atunci când este invocat, acesta stabilește mai
întâi unele variabile de mediu la valorile implicite, citește mesajul de poștă electronică de la intrarea
standard până la un sfârșit de fișier (EOF), separă corpul mesajului de antet și apoi, dacă nu sunt
prezente argumente în linia de comandă, începe să caute un fișier numit $HOME/.procmailrc. În
conformitate cu rețetele de procesare din acest fișier, mesajul de poștă electronică care tocmai a sosit
este distribuit în dosarul potrivit (și altele). Dacă nu se găsește nici un fișier-configurare sau dacă
procesarea fișierului-de-configurare ajunge la final, procmail va stoca corespondența în căsuța poștală
implicită a sistemului.
Dacă nu a fost specificat niciun fișier de configurare și nici opțiunea -p nu a fost specificată în linia
de comandă, procmail, înainte de a citi fișierul $HOME/.procmailrc, va interpreta comenzile din fișierul
/etc/procmailrc (dacă este prezent). Trebuie să se acorde atenție la crearea fișierului
„/etc/procmailrc”, deoarece, dacă circumstanțele permit, acesta va fi executat cu privilegii de root
(spre deosebire de fișierul „$HOME/.procmailrc”, bineînțeles).
Dacă rulează cu suid root sau cu privilegii de root, procmail va putea funcționa ca un agent de livrare a
corespondenței îmbunătățit din punct de vedere funcțional și compatibil cu trecutul.
procmail poate fi, de asemenea, utilizat ca un filtru de poștă electronică de uz general, adică au fost
luate măsuri pentru a permite ca procmail să fie invocat într-o regulă «sendmail» specială.
Formatul fișierului de configurare este descris în detaliu în pagina de manual procmailrc(5).
Tehnica de punctare ponderată este descrisă în detaliu în pagina de manual procmailsc(5).
Exemple de rețete pentru fișierul de configurare pot fi consultate în pagina de manual procmailex(5).
Semnale
TERMINATE Termină prematur și reintroduce mesajul în coada de mesaje.
HANGUP Termină prematur și returnează corespondența.
INTERRUPT Termină prematur și returnează corespondența.
QUIT Termină prematur și pierde în tăcere corespondența.
ALARM Forțează un temporizator (a se vedea TIMEOUT).
USR1 Echivalent cu VERBOSE=off.
USR2 Echivalent cu VERBOSE=on.
OPȚIUNI
-v Procmail va imprima numărul versiunii sale, va afișa configurația sa de compilare și va ieși.
-p Conservă orice mediu vechi. În mod normal, procmail șterge mediul la pornire, cu excepția valorii
lui TZ. Cu toate acestea, în orice caz: orice valoare implicită va înlocui orice variabilă de mediu
preexistentă, adică procmail nu va acorda nici o atenție variabilelor de mediu predefinite, ci le va
suprascrie cu plăcere cu propriile valori implicite. Pentru lista variabilelor de mediu pe care
procmail le va prestabili, consultați pagina de manual procmailrc(5). Dacă se specifică atât
opțiunea „-p” cât și opțiunea „-m”, lista variabilelor de mediu predefinite se reduce la doar:
LOGNAME, HOME, SHELL, ORGMAIL și MAILDIR.
-t Faceți ca procmail să eșueze ușor, adică, dacă procmail nu poate livra corespondența la niciuna
dintre destinațiile pe care le-ați dat, corespondența nu va fi respinsă, ci se va întoarce în coada
de corespondență. O altă încercare de livrare va fi făcută la un moment dat în viitor.
-f de-la-cine
Face ca procmail să regenereze linia de început „From” cu de la cine ca expeditor (în loc de
opțiunea „-f” se poate folosi opțiunea alternativă și depășită „-r”. Dacă de-la-cine constă doar
dintr- o singură „-”, atunci procmail va actualiza doar marca temporală de pe linia „From” (dacă
este prezentă, dacă nu, va genera una nouă).
-o În loc să permită oricui să genereze linii „From”, înlocuiește pur și simplu falsurile.
-Y Presupune formatul tradițional al cutiei poștale Berkeley, ignoră orice câmp Content-Length:.
-a argument
Acest lucru va stabili $1 ca fiind egal cu argument. Fiecare -aargument succesiv va defini
următoarea variabilă numerică ($2, $3, etc.). Acesta poate fi folosit pentru a transmite
meta-informații către procmail. Acest lucru se face în mod obișnuit prin transmiterea informațiilor
$@x din regula de „mailer” (agent-poștal) a sendmail.
-d destinatar ...
Acest lucru activează modul de livrare explicit, livrarea se va face către utilizatorul local
destinatar. Desigur, acest lucru este posibil numai dacă procmail are privilegii de root (sau dacă
procmail rulează deja cu euid și egid ale destinatarului). Procmail va prelua identitatea (setuid) a
destinatarilor vizați și livrează corespondența ca și cum ar fi fost invocată de către destinatar
fără argumente (adică, dacă nu se găsește niciun fișier-configurare, livrarea se face ca la o
corespondență obișnuită). Această opțiune este incompatibilă cu opțiunea -p.
-m Transformă procmail într-un filtru de poștă electronică de uz general. În acest mod, trebuie
specificat un fișier-configurare în linia de comandă. După fișierul-configurare, procmail va accepta
un număr nelimitat de argumente. Dacă fișierul-configurare este o rută absolută care începe cu
/etc/procmailrcs/ fără referințe înapoi (adică directorul părinte nu poate fi menționat), procmail
va prelua, numai dacă nu se constată încălcări ale securității, identitatea proprietarului
fișierului-configurare (sau a legăturii simbolice). Pentru o utilizare avansată a acestei opțiuni,
ar trebui să consultați secțiunea EXEMPLE de mai jos.
ARGUMENTE
Toate argumentele care conțin un „=” sunt considerate a fi atribuiri de variabile de mediu, acestea vor
fi evaluate după ce valorile implicite au fost atribuite și înainte de deschiderea primului fișier de
configurare.
Orice alte argumente sunt presupuse a fi rute către un fișier de configurare (fie absolute, fie, dacă
încep cu „./”, relative la directorul curent; orice altă rută relativă este relativă la directorul $HOME,
cu excepția cazului în care a fost dată opțiunea -m, caz în care toate rutele relative sunt relative la
directorul curent); procmail va începe cu prima pe care o găsește în linia de comandă. Următoarele vor fi
analizate numai dacă cele precedente au o intrare de directivă HOST care nu se potrivește, sau în cazul
în care nu ar trebui să existe.
Dacă nu se specifică niciun fișier de configurare, se caută $HOME/.procmailrc. Dacă nici măcar acesta nu
poate fi găsit, procesarea va continua în conformitate cu valorile implicite ale variabilelor de mediu și
cu cele specificate în linia de comandă.
EXEMPLE
Exemple de rețete pentru fișierul de configurare pot fi consultate în pagina de manual procmailex(5). Un
mic eșantion de fișier de configurare poate fi găsit în secțiunea NOTE de mai jos.
Săriți peste restul acestei secțiuni EXEMPLE, cu excepția cazului în care sunteți un administrator de
sistem care este vag familiarizat cu sintaxa sendmail.cf.
Opțiunea -m este utilizată de obicei atunci când procmail este apelat din cadrul unei reguli din fișierul
sendmail.cf. Pentru a putea face acest lucru, este convenabil să creați un mailer suplimentar „procmail”
în fișierul sendmail.cf (în plus față de mailerul „local”, probabil deja prezent, care pornește
procmail). Pentru a crea un astfel de mailer „procmail” aș sugera ceva precum:
Mprocmail, P=/usr/bin/procmail, F=mSDFMhun, S=11, R=21,
A=procmail -m $h $g $u
Acest lucru vă permite să utilizați reguli cum ar fi următoarele (cel mai probabil în setul de reguli 0)
pentru a filtra corespondența prin intermediul agentului poștal „mailer” procmail (vă rugăm să rețineți
tabularea de început pentru a continua regula și tabularea pentru a separa comentariile):
R$*<@some.where>$*
$#procmail $@/etc/procmailrcs/some.rc $:$1@some.where.procmail$2
R$*<@$*.procmail>$*
$1<@$2>$3 Deja filtrată, înapoi la lista de corespondență
Și „/etc/procmailrcs/some.rc” ar putea fi la fel de simplu ca:
SENDER = "<$1>" # remediere pentru adresele de expeditor goale SHIFT
= 1 # o elimină din $@
:0 # elimină toate mesajele nedorite * ^Subject:.*mesaje-nedorit /dev/null
:0 w # transmite toate celelalte mesaje ! -oi -f "$SENDER" "$@"
Aveți grijă când trimiteți mesaje din fișierul /etc/procmailrcs/some.rc, dacă trimiteți mesaje la adrese
care corespund din nou primei reguli, ați putea crea o buclă de mesaje fără sfârșit.
FIȘIERE
/etc/passwd pentru a stabili valorile implicite ale variabilelor LOGNAME, HOME și SHELL ale
destinatarului
/var/mail/$LOGNAME căsuța poștală de sistem; atât căsuța poștală de sistem, cât și directorul imediat
în care se află aceasta vor fi create de fiecare dată când procmail pornește și
oricare dintre ele nu este prezent
/etc/procmailrc fișierul de configurare global (la nivel de sistem) inițial
/etc/procmailrcs/ ruta privilegiilor speciale pentru fișierele-de-configurare
$HOME/.procmailrc fișierul de configurare implicit (la nivel de utilizator)
/var/mail/$LOGNAME.lock
fișierul de blocare pentru căsuța poștală de sistem (nu este utilizat automat de
procmail, cu excepția cazului în care $DEFAULT este egal cu /var/mail/$LOGNAME și
procmail livrează către $DEFAULT)
/usr/sbin/sendmail programul implicit de expediere a corespondenței
_????`hostname` fișiere temporare „unice” de lungime zero create de procmail
CONSULTAȚI ȘI
procmailrc(5), procmailsc(5), procmailex(5), sh(1), csh(1), mail(1), mailx(1), uucp(1), aliases(5),
sendmail(8), egrep(1), grep(1), biff(1), comsat(8), lockfile(1), formail(1), cron(1)
DIAGNOSTICARE
Autoforwarding mailbox found (s-a găsit o căsuță poștală de redirecționare automată)
Căsuța poștală a sistemului are bitul suid sau sgid activat, procmail termină cu
EX_NOUSER presupunând că această căsuță poștală nu trebuie să fie livrată.
Bad substitution of "x" (substituire greșită a lui „x”)
Nu este specificat un nume de variabilă de mediu valid.
Closing brace unexpected (paranteză de închidere neașteptată)
Nu a existat nicio paranteză de deschidere corespondentă („cuibărire” bloc).
Conflicting options (opțiuni conflictuale)
Nu toate combinațiile de opțiuni sunt valabile
Conflicting x suppressed (x conflictual suprimat)
Fanionul x nu este compatibil cu vreun alt fanion de pe această rețetă.
Couldn't create "x" (nu s-a putut crea „x”)
Căsuța poștală de sistem lipsea și nu a putut/nu va fi creată.
Couldn't create maildir part "x" (nu s-a putut crea partea „x” a dosarului maildir)
Dosarului maildir „x” îi lipsesc unul sau mai multe subdirectoare necesare și
procmail nu le-a putut crea.
Couldn't create or rename temp file "x" (nu s-a putut crea sau redenumi fișierul temporar „x”)
A apărut o eroare în mecanismul de livrare către dosarul „x”.
Couldn't determine implicit lockfile from "x" (nu s-a putut determina fișierul de blocare implicit din
„x”)
Nu au fost găsite redirecționări „>>”, folosind doar „$LOCKEXT” ca fișier de
blocare local.
Couldn't read "x" (nu s-a putut citi „x”)
procmail nu a putut deschide un fișier-de-configurare sau nu era un fișier
obișnuit, sau procmail nu a putut deschide un director MH pentru a găsi fișierul
cu numărul cel mai mare.
Couldn't unlock "x" (nu s-a putut debloca „x”)
Fișierul de blocare a dispărut deja, sau permisiunea de scriere în directorul în
care se află fișierul de blocare a fost refuzată.
Deadlock attempted on "x" (încercare de interblocare la „x”)
Fișierul de blocare local specificat în această rețetă este egal cu un fișier
$LOCKFILE încă activ.
Denying special privileges for "x" (refuzarea privilegiilor speciale pentru „x”)
procmail nu va prelua identitatea care vine cu fișierul rc deoarece a fost găsită
o încălcare a securității (de exemplu, -p sau atribuirea de variabile în linia de
comandă) sau procmail a avut privilegii insuficiente pentru a face acest lucru.
Descriptor "x" was not open (descriptorul „x” nu era deschis)
La pornirea procmail, intrarea standard (stdin), ieșirea standard (stdout) sau
ieșirea de eroare standard (stderr) nu au fost conectate (posibil o încercare de a
submina securitatea)
Enforcing stricter permissions on "x" (punerea în aplicare a unor permisiuni mai stricte pentru „x”)
Căsuța poștală de sistem a destinatarului s-a dovedit a fi nesecurizată, procmail
a securizat-o.
Error while writing to "x" (eroare la scrierea în „x”)
Subdirector inexistent, fără permisiune de scriere, conducta a dispărut sau discul
este plin.
Exceeded LINEBUF (valoare depășită a LINEBUF)
A fost detectată o depășire a memoriei tampon, LINEBUF a fost prea mică,
PROCMAIL_OVERFLOW a fost activată.
MAILDIR is not an absolute path (MAILDIR nu este o rută absolută)
MAILDIR path too long (rută prea lungă definită pentru MAILDIR)
ORGMAIL is not an absolute path (ORGMAIL nu este o rută absolută)
ORGMAIL path too long (rută prea lungă definită pentru ORGMAIL)
default rcfile is not an absolute path (fișierul-de-configurare implicit nu este o rută absolută)
default rcfile path too long (rută prea lungă definită pentru fișierul-de-configurare implicit)
Ruta completă a elementului specificat, atunci când a fost extinsă, a fost mai
lungă decât LINEBUF sau nu a început cu un separator de fișiere.
Excessive output quenched from "x" (ieșire excesivă oprită de la „x”)
Programul sau filtrul „x” a încercat să producă prea multă ieșire pentru LINEBUF
curentă, restul a fost eliminat și PROCMAIL_OVERFLOW a fost activată.
Extraneous x ignored (extraniu x ignorat)
Linia de acțiune sau alte fanioane din această rețetă fac ca fanionul x să fie
lipsit de sens.
Failed forking "x" (a eșuat bifurcarea lui „x”)
Tabelul de procese este plin (iar NORESRETRY a fost epuizat).
„Failed to execute "x" (nu s-a reușit să se execute „x”)
Programul nu se află în rută sau nu este executabil.
Forced unlock denied on "x" (deblocare forțată refuzată la „x”)
Nu există permisiune de scriere în directorul în care se află fișierul-de-blocare
„x”, sau mai multe instanțe de procmail încearcă să forțeze un blocaj exact în
același timp.
Forcing lock on "x" (blocare forțată pe „x”)
Fișierul-de-blocare „x” va fi eliminat forțat din cauza unei depășiri a timpului
de așteptare (a se vedea și: LOCKTIMEOUT).
Incomplete recipe (rețetă incompletă)
A fost găsit începutul unei rețete, dar s-a oprit într-un EOF (sfârșit de fișier).
Insufficient privileges (privilegii insuficiente)
procmail fie are nevoie de privilegii root, fie trebuie să aibă (e)uid și (e)gid
corect pentru a rula în modul de livrare. Mesajul va fi respins.
Invalid regexp "x" (expresie regulată „x” nevalidă)
Expresia regulată "x" conține erori (cel mai probabil unele paranteze lipsă sau
stranii).
Kernel-lock failed (eroare la blocarea de către nucleu)
În timp ce încerca să utilizeze apelurile de blocare acceptate de kernel, unul
dintre ele a eșuat (de obicei indică o eroare a sistemului de operare), procmail
ignoră această eroare și continuă.
Kernel-unlock failed (eroare la deblocarea de către nucleu)
A se vedea mai sus.
Lock failure on "x" (blocare eșuată cu „x”)
Poate apărea numai dacă specificați niște nume de fișiere de blocare foarte
ciudate (și ilegale) sau dacă fișierul-de-blocare nu a putut fi creat din cauza
permisiunilor insuficiente sau a subdirectoarelor inexistente.
Lost "x" („x” pierdut) procmail a încercat să se cloneze, dar nu a putut găsi din nou
fișierul-de-configurare „x” (fie a fost eliminat, fie a fost o rută relativă și
ați schimbat directorul de când procmail l-a deschis ultima dată).
Missing action lipsește acțiunea)
S-a constatat că rețeta actuală este incompletă.
Missing closing brace (lipsește acolada de închidere)
Un bloc „cuibărit” (între acolade) a fost început, dar nu a fost terminat
niciodată.
Missing name (lipsește numele)
Opțiunea „-f” necesită un argument suplimentar.
Missing argument (argument lipsă)
Ați specificat opțiunea „-a”, dar ați uitat să specificați argumentul acesteia.
Missing rcfile (lipsește fișierul-de-configurare)
Ați specificat opțiunea „-m”, procmail așteaptă numele unui fișier de configurare
ca argument.
Missing recipient (lipsește destinatarul)
Ați specificat opțiunea „-d” sau ați apelat procmail sub un nume diferit, acesta
așteaptă unul sau mai mulți destinatari ca argumente.
No space left to finish writing "x" (nu a mai rămas spațiu pentru a termina de scris „x”)
Sistemul de fișiere care conține „x” nu are suficient spațiu liber pentru a
permite transmiterea mesajului către fișier.
Out of memory (memorie insuficientă)
Sistemul nu mai are spațiu de interschimb „swap” (iar NORESRETRY a fost epuizat).
Processing continued (procesarea continuă)
Opțiunile nerecunoscute din linia de comandă sunt ignorate, procedându-se ca de
obicei.
Program failure (nnn) of "x" (eșecul programului (nnn) al „x”)
Programul care a fost inițiat de procmail a returnat nnn în loc de EXIT_SUCCESS
(=0); dacă nnn este negativ, atunci acesta este semnalul la care programul a
murit.
Quota exceeded while writing "x" (cota a fost depășită în timp ce se scria „x”)
Cota de dimensiune a fișierelor pentru destinatar pe sistemul de fișiere care
conține "x" nu permite transmiterea mesajului către fișier.
Renaming bogus "x" into "x" (redenumirea falsului „x” în „x”)
Căsuța poștală de sistem a destinatarului a fost găsită a fi falsă, procmail a
efectuat acțiuni evazive.
Rescue of unfiltered data succeeded/failed (salvarea datelor nefiltrate a reușit/a eșuat)
Un filtru a returnat un eșec, procmail încearcă să obțină înapoi textul original.
Skipped: "x" (omis: „x”)
Nu s-a putut face nimic cu „x” din fișierul-de-configurare (eroare de sintaxă), se
ignoră.
Suspicious rcfile "x" (fișier-de-configurare „x” suspect)
Proprietarul fișierului-de-configurare nu era destinatarul sau utilizatorul root,
fișierul putea fi accesat de toată lumea sau directorul care îl conținea putea fi
accesat de toată lumea, sau acesta era fișierul-de-configurare implicit
($HOME/.procmailrc) și putea fi accesat de grup sau directorul care îl conținea
putea fi accesat de grup (fișierul-de-configurare nu a fost utilizat).
Terminating prematurely whilst waiting for ... (încheiere prematură în așteptarea ...)
procmail a primit un semnal în timp ce aștepta pentru ...
Timeout, terminating "x" (timp de așteptare depășit, terminând „x”)
A apărut o depășire a timpului de așteptare pentru programul sau filtrul „x”.
Timeout, was waiting for "x" (timp de așteptare depășit, a fost în așteptare pentru „x”)
A apărut o depășire a timpului de așteptare pentru programul, filtrul sau fișierul
„x”. Dacă a fost un program sau un filtru, atunci se pare că acesta nu mai
rulează.
Truncated file to former size (fișier trunchiat la dimensiunea anterioară)
Fișierul nu a putut fi livrat cu succes, astfel încât fișierul a fost trunchiat la
dimensiunea sa anterioară.
Truncating "x" and retrying lock (trunchierea lui „x” și reîncercarea blocării)
„x” nu pare a fi un nume de fișier valid sau fișierul nu este gol.
Unable to treat as directory "x" (imposibil de tratat ca director „x”)
Fie sufixul lui „x” ar indica faptul că ar trebui să fie un dosar MH sau un dosar
maildir, fie a fost listat ca un al doilea dosar în care să se facă legătura, dar
acesta există deja și nu este un director.
Unexpected EOL (EOL neașteptat)
Lipsește ghilimeaua de închidere sau se încearcă să se eludeze EOF.
Unknown user "x" (utilizator „x” necunoscut)
Destinatarul specificat nu are un uid corespunzător.
DIAGNOSTICARE EXTINSĂ
Diagnosticarea extinsă poate fi activată și dezactivată prin definirea variabilei VERBOSE.
[pid] time & date ([pid] ora și data)
PID-ul procmail și un marcaj de timp. Generat ori de câte ori procmail
înregistrează un diagnostic și a trecut cel puțin o secundă de la ultimul marcaj
temporal.
Acquiring kernel-lock (dobândirea blocării nucleului)
procmail încearcă acum să blocheze în nucleu cel mai recent fișier deschis
(descriptor).
Assigning "x" (se atribuie „x”)
Atribuirea variabilei de mediu.
Assuming identity of the recipient, VERBOSE=off (presupunând identitatea destinatarului, VERBOSE=off)
Se elimină toate privilegiile (dacă există), se dezactivează implicit
diagnosticarea extinsă.
Bypassed locking "x" (blocare evitată „x”)
Directorul de derulare al corespondenței (spool) nu era accesibil pentru procmail,
se baza doar pe blocajele nucleului.
Executing "x" (se execută „x”)
Pornirea programului "x". Dacă este pornit direct de procmail (fără un shell
intermediar), procmail va arăta unde a separat argumentele prin inserarea de
virgule.
HOST mismatched "x" (HOST nu se potrivește cu „x”)
Această gazdă a fost numită „x”, HOST conținea altceva.
Locking "x" (blocând „x”)
Se creează fișierul de blocare „x”.
Linking to "x" (legând cu „x”)
Se creează o legătură dură între dosarele de directoare.
Match on "x" (potrivire la „x”)
Concordanță cu condiția.
Matched "x" („x” potrivit)
Asignat „x” la MATCH.
No match on "x" (nepotrivire la „x”)
Condiția nu s-a potrivit, rețeta a fost ignorată.
Non-zero exitcode (nnn) by "x" (cod de ieșire diferit de zero (nnn) prin „x”)
Programul care a fost pornit de procmail ca o condiție sau ca acțiune a unei
rețete cu fanionul „W” a returnat nnn în loc de EXIT_SUCCESS (=0); utilizarea
indică faptul că aceasta nu este o condiție complet neașteptată.
Notified comsat: "$LOGNAME@offset:file" (notificare comsat: "$LOGNAME@poziție:fișier")
S-a trimis către comsat/biff o notificare că a sosit poșta pentru utilizatorul
$LOGNAME la „pozitia” din „fișier”.
Opening "x" (se deschide „x”)
Se deschide fișierul „x” pentru adăugare.
Rcfile: "x" (fișier-configurare: „x”)
Fișierul-de-configurare schimbat cu „x”.
Reiterating kernel-lock (reiterarea blocării nucleului)
În timp ce se încercau mai multe metode de blocare, una dintre acestea a eșuat.
procmail va repeta până când toate vor reuși în succesiune rapidă.
Score: added newtotal "x" (punctaj: adăugat total-nou „x”)
Această condiție a obținut puncte "adăugate”, ceea ce a dus la un scor
„total-nou”.
Unlocking "x" (se deblochează „x”)
Eliminarea din nou a fișierului de blocare „x”.
AVERTISMENTE
Ar trebui să creați un script shell care utilizează lockfile(1) înainte de a invoca shell-ul dvs. de
poștă electronică pe orice fișier de căsuță poștală, altul decât căsuța poștală de sistem (cu excepția
cazului în care, desigur, shell-ul dvs. de poștă electronică utilizează aceleași fișiere de blocare
(locale sau globale) specificate în fișierul-de-configurare).
În cazul puțin probabil în care trebuie neapărat să opriți procmail înainte ca acesta să se termine,
încercați mai întâi să folosiți comanda obișnuită kill (adică nu «kill -9», consultați subsecțiunea
Semnale pentru sugestii), altfel unele fișiere-de-blocare ar putea să nu fie eliminate.
Atenție la utilizarea opțiunii -t, dacă procmail nu poate livra în mod repetat corespondența (de exemplu,
din cauza unui fișier-de-configurare incorect), coada de corespondență a sistemului s-ar putea umple.
Acest lucru ar putea deranja atât agentul-de poștă-local, cât și alți utilizatori.
Fișierul /etc/procmailrc ar putea fi executat cu privilegii de root, deci fiți foarte atenți la ce puneți
în el. SHELL va fi egal cu cel al destinatarului curent, deci dacă procmail trebuie să invoce shell-ul,
ar fi bine să îl configurați mai întâi la o valoare sigură. A se vedea de asemenea: DROPPRIVS.
Rețineți că, dacă chown(1) este permis pentru fișierele din /etc/procmailrcs/, acestea pot fi schimbate
de proprietar, către root (sau oricine altcineva) de către proprietarii lor actuali. Pentru securitate
maximă, asigurați-vă că acest director este executabil numai pentru root.
procmail nu este instrumentul potrivit pentru partajarea unei căsuțe poștale între mai mulți utilizatori,
cum ar fi atunci când aveți un cont POP pentru toate mesajele către domeniul dvs. Acest lucru se poate
face dacă reușiți să vă configurați MTA-ul pentru a adăuga niște antete cu datele destinatarului
plicului, pentru a-i indica lui procmail cui îi este destinat un mesaj, dar, de obicei, acest lucru nu
este cel mai potrivit. Poate doriți să verificați dacă MTA-ul dvs. oferă „tabele virtuale de utilizatori”
sau să verificați facilitatea „multitidrop” a fetchmail.
ERORI
După eliminarea forțată a unui fișier de blocare, procmail așteaptă $SUSPEND secunde înainte de a crea un
nou fișier de blocare, astfel încât un alt proces care decide să elimine fișierul de blocare vechi să nu
elimine din greșeală fișierul de blocare nou creat.
procmail utilizează semnalul obișnuit TERMINATE pentru a termina orice filtru scăpat de sub control, dar
nu verifică dacă filtrul răspunde la acest semnal și îl trimite doar filtrului în sine, nu și
copiilor-filtrului.
Un câmp Content-Length: continuat nu este gestionat corect.
Noile linii încorporate într-un antet continuat ar trebui să fie ignorate la potrivire, în loc să fie
tratate ca un singur spațiu, așa cum se întâmplă acum.
DIVERSE
Dacă există un câmp Content-Length: în antetul mesajului și opțiunea -Y nu este specificată, procmail va
ajusta câmpul pentru a raporta dimensiunea corectă. procmail nu modifică lățimea câmpului.
Dacă nu există câmpul Content-Length: sau dacă a fost specificată opțiunea -Y și procmail se atașează la
dosarele de corespondență obișnuite, orice linii din corpul mesajului care par a fi mărci poștale sunt
precedate de `>' (dezarmează anteturile de corespondență false). Expresia regulată care este utilizată
pentru căutarea acestor mărci poștale este:
`\nFrom '
Dacă numele destinatarului utilizat în modul explicit de livrare nu se află în „/etc/passwd”, procmail va
proceda ca și cum modul explicit de livrare nu ar fi în vigoare. În cazul în care nu se utilizează modul
de livrare explicit și uid-ul sub care rulează procmail nu are o intrare corespunzătoare în
„/etc/passwd”, atunci HOME va fi implicit /, LOGNAME va fi implicit #uid, SHELL va fi implicit „/bin/sh,”
iar ORGMAIL va fi implicit „/tmp/dead.letter”.
Atunci când este în modul de livrare explicită, procmail va genera o linie `From ' dacă nu este prezentă.
Dacă există deja una, procmail o lasă intactă. În cazul în care procmail nu este invocat cu unul dintre
următoarele id-uri de utilizator sau de grup: root, daemon, uucp, mail, x400, network, list, slist, lists
sau news, dar trebuie totuși să genereze sau să accepte o nouă linie `From ', acesta va genera o linie
suplimentară `>From ' pentru a ajuta la distingerea mesajelor false.
Din motive de securitate, procmail va utiliza un fișier-de-configurare absolut sau $HOME-relativ numai
dacă acesta este deținut de destinatar sau de root, nu poate fi scris de toată lumea, iar directorul în
care este conținut nu poate fi scris de toată lumea. Fișierul $HOME/.procmailrc are constrângerea
suplimentară de a nu fi inscriptibil de grup sau într-un director inscriptibil de grup.
Dacă „/var/mail/$LOGNAME” este o căsuță poștală falsă (de exemplu, nu aparține destinatarului, nu poate
fi scrisă, este o legătură simbolică sau este o legătură dură), procmail va încerca la pornire să o
redenumească într-un fișier care începe cu „BOGUS.$LOGNAME.” și se termină cu un cod de secvență de
nod-i. Dacă acest lucru se dovedește a fi imposibil, ORGMAIL va avea valoarea inițială no și, prin
urmare, va inhiba livrarea fără un fișier-de-configurare corespunzător.
Dacă „/var/mail/$LOGNAME” este deja o căsuță poștală validă, dar are permisiuni prea puține pe ea,
procmail va corecta acest lucru. Pentru a împiedica procmail să facă acest lucru, asigurați-vă că bitul
u+x este activat.
Atunci când livrați în directoare, dosare MH sau dosare maildir, nu trebuie să utilizați fișiere de
blocare pentru a preveni interferențele dintre mai multe programe procmail care rulează simultan.
Livrarea către dosarele MH consumă puțin mai mult timp decât livrarea către directoare sau căsuțe poștale
normale, deoarece procmail trebuie să caute următorul număr disponibil (în loc să aibă numele fișierului
imediat disponibil).
În caz de eșec general, procmail va returna EX_CANTCREAT, cu excepția cazului în care este specificată
opțiunea -t, caz în care va returna EX_TEMPFAIL.
Pentru a face „separarea” antetelor mai consecventă, procmail concatenează toate câmpurile continue ale
antetului; dar numai intern. La livrarea mesajului, întreruperile de linie vor apărea ca înainte.
Dacă procmail este apelat sub un nume care nu începe cu „procmail” (de exemplu, dacă este legat de un alt
nume și apelat ca atare), acesta apare în modul de livrare explicit și așteaptă numele destinatarilor ca
argumente ale liniei de comandă (ca și cum ar fi fost specificată opțiunea „-d”).
Notificările Comsat/biff sunt efectuate utilizând udp. Acestea sunt trimise o dată când procmail
generează intrarea obișnuită în fișierul jurnal. Mesajele de notificare au următorul format extins (sau
cât de aproape se poate obține atunci când livrarea finală nu a fost într-un fișier):
$LOGNAME@poziția_mesajului_în_căsuța-poștală
:ruta_absolută_către_căsuța-poștală
Ori de câte ori procmail deschide el însuși un fișier pe care să îl livreze, utilizează în mod consecvent
următoarele strategii de blocare a nucleului: fcntl(2).
procmail este rezistent la NFS și optimizat pe opt biți.
NOTE
Apelul la procmail cu opțiunile -h sau -? va face ca acesta să afișeze o pagină de ajutor în linie de
comandă și o pagină de referință rapidă pentru fanionul de rețetă.
Există o excelentă pagină de întrebări și răspunsuri frecvente (FAQ) pentru începători despre filtrele de
mail (și procmail în special); este întreținută de Nancy McGough <nancym@ii.com> și poate fi obținută
trimițând un mesaj la mail-server@rtfm.mit.edu cu următoarele în corp:
send usenet/news.answers/mail/filtering-faq
Dacă procmail nu este instalat la nivel global ca agent implicit de livrare a corespondenței (întrebați
administratorul de sistem), trebuie să vă asigurați că este invocat atunci când ajunge corespondența. În
acest caz, fișierul dvs. $HOME/.forward (atenție, acesta trebuie să aibă permisiunea de citire pentru
toată lumea) trebuie să conțină linia de mai jos. Asigurați-vă că includeți ghilimelele simple și duble
și, cu excepția cazului că situl dvs. rulează smrsh (SendMail Restricted SHell), aceasta trebuie să fie o
rută absolută.
"|exec /usr/bin/procmail"
Unele programe de poștă electronică (în special exim) nu acceptă în prezent sintaxa de mai sus. În acest
caz, folosiți în schimb următoarea linie:
|/usr/bin/procmail
procmail poate fi, de asemenea, invocat pentru a postprocesa o căsuță poștală de sistem deja plină. Acest
lucru poate fi util dacă nu doriți sau nu puteți utiliza un fișier „$HOME/.forward” (caz în care
următorul script ar putea fi apelat periodic din cadrul cron(1), sau ori de câte ori începeți să citiți
corespondența):
#!/bin/sh
ORGMAIL=/var/mail/$LOGNAME
if cd $HOME &&
test -s $ORGMAIL &&
lockfile -r0 -l1024 .newmail.lock 2>/dev/null
then
trap "rm -f .newmail.lock" 1 2 3 13 15
umask 077
lockfile -l1024 -ml
cat $ORGMAIL >>.newmail &&
cat /dev/null >$ORGMAIL
lockfile -mu
formail -s procmail <.newmail &&
rm -f .newmail
rm -f .newmail.lock
fi
exit 0
Un mic eșantion de fișier „$HOME/.procmailrc”:
PATH=/usr/local/bin:/usr/bin:/bin
MAILDIR=$HOME/Mail #ar fi bine să vă asigurați că există
DEFAULT=$MAILDIR/mbox #complet opțional
LOGFILE=$MAILDIR/from #recomandat
:0:
* ^From.*berg
from_me
:0
* ^Subject:.*Flame
/dev/null
Alte exemple de rețete pentru fișierul de configurare pot fi consultate în pagina de manual
procmailex(5).
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/27 PROCMAIL(1)