The $DEFAULT
la sfârșit este o eroare de sintaxă. Nu puteți specifica mai multe acțiuni pentru aceeași rețetă.
Ceea ce poți face este să-l împărți în două rețete; sau, în acest caz, combinați pur și simplu rescrierea și livrarea.
:0:
* ^TO_special@domain\.com
* ^Subiect:\/.+
| /usr/local/bin/formail -I"Subiect: [SPECIAL]$MATCH" >>$DEFAULT
Aceasta nu mai are fh
semnalează pentru că vrem să transmitem întregul mesaj (nu doar anteturile, care h
face) și vrem să livrăm, nu să captăm rezultatele conductei înapoi în Procmail (care f
face).
Aceasta presupune că $DEFAULT
este un fișier, nu un director; și astfel adăugăm și o secundă :
pentru a specifica blocarea.
Dacă doriți să specificați două acțiuni într-un singur set de condiții, puteți utiliza acolade cu mai multe rețete în interiorul lor. Fiecare rețetă poate avea zero sau mai multe condiții, dar o singură acțiune.
:0
* ^TO_special@domain\.com
* ^Subiect:\/.+
{
:0fhw
| formail -I"Subiect: [SPECIAL]$MATCH"
:0:
$DEFAULT
}
dar în acest caz este o complicație inutilă.
(Ar fi, poate, de asemenea, mai idiomatic să mutați ^ Subiect:
condiție la formail
rețetă în care îi aparține în mod logic, dar aceasta este oricum doar o tangentă.)
De asemenea, tangenţial, poate asiguraţi-vă că dvs CALE
este corect chiar la începutul dvs .procmailrc
astfel încât să puteți evita să scrieți calea completă către utilități externe, cum ar fi formail
.