Scroll to navigation

PROCMAIL(1) General Commands Manual PROCMAIL(1)

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

Termină prematur și reintroduce mesajul în coada de mesaje.
Termină prematur și returnează corespondența.
Termină prematur și returnează corespondența.
Termină prematur și pierde în tăcere corespondența.
Forțează un temporizator (a se vedea TIMEOUT).
Echivalent cu VERBOSE=off.
Echivalent cu VERBOSE=on.

OPȚIUNI

Procmail va imprima numărul versiunii sale, va afișa configurația sa de compilare și va ieși.
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.
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.
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ă).
În loc să permită oricui să genereze linii „From”, înlocuiește pur și simplu falsurile.
Presupune formatul tradițional al cutiei poștale Berkeley, ignoră orice câmp Content-Length:.
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.
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.
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

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ă.
Nu este specificat un nume de variabilă de mediu valid.
Nu a existat nicio paranteză de deschidere corespondentă („cuibărire” bloc).
Nu toate combinațiile de opțiuni sunt valabile
Fanionul x nu este compatibil cu vreun alt fanion de pe această rețetă.
Căsuța poștală de sistem lipsea și nu a putut/nu va fi creată.
Dosarului maildir „x” îi lipsesc unul sau mai multe subdirectoare necesare și procmail nu le-a putut crea.
A apărut o eroare în mecanismul de livrare către dosarul „x”.
Nu au fost găsite redirecționări „>>”, folosind doar „$LOCKEXT” ca fișier de blocare local.
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.
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ă.
Fișierul de blocare local specificat în această rețetă este egal cu un fișier $LOCKFILE încă activ.
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.
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)
Căsuța poștală de sistem a destinatarului s-a dovedit a fi nesecurizată, procmail a securizat-o.
Subdirector inexistent, fără permisiune de scriere, conducta a dispărut sau discul este plin.
A fost detectată o depășire a memoriei tampon, LINEBUF a fost prea mică, PROCMAIL_OVERFLOW a fost activată.





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.
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ă.
Linia de acțiune sau alte fanioane din această rețetă fac ca fanionul x să fie lipsit de sens.
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.
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.
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).
A fost găsit începutul unei rețete, dar s-a oprit într-un EOF (sfârșit de fișier).
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.
Expresia regulată "x" conține erori (cel mai probabil unele paranteze lipsă sau stranii).
Î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ă.
A se vedea mai sus.
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.
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ă).
S-a constatat că rețeta actuală este incompletă.
Un bloc „cuibărit” (între acolade) a fost început, dar nu a fost terminat niciodată.
Opțiunea „-f” necesită un argument suplimentar.
Ați specificat opțiunea „-a”, dar ați uitat să specificați argumentul acesteia.
Ați specificat opțiunea „-m”, procmail așteaptă numele unui fișier de configurare ca argument.
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.
Sistemul de fișiere care conține „x” nu are suficient spațiu liber pentru a permite transmiterea mesajului către fișier.
Sistemul nu mai are spațiu de interschimb „swap” (iar NORESRETRY a fost epuizat).
Opțiunile nerecunoscute din linia de comandă sunt ignorate, procedându-se ca de obicei.
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.
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.
Căsuța poștală de sistem a destinatarului a fost găsită a fi falsă, procmail a efectuat acțiuni evazive.
Un filtru a returnat un eșec, procmail încearcă să obțină înapoi textul original.
Nu s-a putut face nimic cu „x” din fișierul-de-configurare (eroare de sintaxă), se ignoră.
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).
procmail a primit un semnal în timp ce aștepta pentru ...
A apărut o depășire a timpului de așteptare pentru programul sau filtrul „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ă.
Fișierul nu a putut fi livrat cu succes, astfel încât fișierul a fost trunchiat la dimensiunea sa anterioară.
„x” nu pare a fi un nume de fișier valid sau fișierul nu este gol.
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.
Lipsește ghilimeaua de închidere sau se încearcă să se eludeze EOF.
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.
procmail încearcă acum să blocheze în nucleu cel mai recent fișier deschis (descriptor).
Atribuirea variabilei de mediu.
Se elimină toate privilegiile (dacă există), se dezactivează implicit diagnosticarea extinsă.
Directorul de derulare al corespondenței (spool) nu era accesibil pentru procmail, se baza doar pe blocajele nucleului.
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.
Această gazdă a fost numită „x”, HOST conținea altceva.
Se creează fișierul de blocare „x”.
Se creează o legătură dură între dosarele de directoare.
Concordanță cu condiția.
Asignat „x” la MATCH.
Condiția nu s-a potrivit, rețeta a fost ignorată.
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ă.
S-a trimis către comsat/biff o notificare că a sosit poșta pentru utilizatorul $LOGNAME la „pozitia” din „fișier”.
Se deschide fișierul „x” pentru adăugare.
Fișierul-de-configurare schimbat cu „x”.
Î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ă.
Această condiție a obținut puncte "adăugate”, ceea ce a dus la un scor „total-nou”.
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.

2001/08/27 BuGless