Procmail e regex · 11 min read · Dec 30, 2025
6.0 Corrispondenza e regexps (espressioni regolari)
Autore: Jari Aalto.
1.0 ID documento
- 1.1 Generale
- 1.2 Cos’è Procmail?
- 1.3 Abbreviazioni e ringraziamenti
- 1.4 Informazioni sulla versione
- 1.5 Layout e manutenzione del documento
- 1.6 Informazioni sulle ricette presentate
- 1.7 Variabili utilizzate nelle ricette
- 1.8 Informazioni sul “premio per l’uso inutile di cat” 2.0 Riferimenti Procmail
- 2.1 Dove viene sviluppato procmail
- 2.2 Risorse Procmail
- 2.3 Modalità Procmail per Emacs
- 2.4 Procmail modulo libreria progetto
- 2.5 Codice Procmail per filtrare UBE 3.0 Test di esecuzione a secco
- 3.1 Cos’è il test di esecuzione a secco?
- 3.2 Perché il campo Da non è corretto dopo l’esecuzione a secco?
- 3.3 Ottenere il valore predefinito di una variabile procmail 4.0 Cose da ricordare
- 4.1 Ottenere il procmail più recente
- 4.2 Il tilde di Csh non è supportato
- 4.3 Assicurati di scrivere la ricetta iniziando correttamente
- 4.4 Imposta sempre SHELL
- 4.5 Controlla e imposta PATH
- 4.6 Mantieni il log sempre attivo
- 4.7 Non aggiungere mai una barra finale per le directory
- 4.8 Ricorda cosa significa il termine CONSEGNATO
- 4.9 Fai attenzione a mettere commenti nei posti sbagliati
- 4.10 Posizionamento delle parentesi graffe
- 4.11 Utilizzo del file di blocco locale
- 4.12 File di blocco globale
- 4.13 Cavolo, dove metto tutti quei ! * $ ??
- 4.14 Se invii una risposta automatica, usa l’intestazione X-loop
- 4.15 Evita un ulteriore strato di shell e controlla il comando per SHELLMETAS
- 4.16 Pensa a quali comandi shell utilizzi
- 4.17 Utilizzo di percorsi assoluti quando chiami un programma shell
- 4.18 Disabilitare temporaneamente una ricetta
- 4.19 Mantieni il backup dei messaggi, non importa cosa
- 4.20 Ordine delle ricette procmail 5.0 Flag Procmail
- 5.1 L’ordine dei flag
- 5.2 Flag HB in cima alla ricetta (avviso)
- 5.3 Flag w e ricetta con |
- 5.4 Flag w, file di blocco e ricetta con |
- 5.5 Flag f e w insieme
- 5.6 Flag h e b
- 5.7 Flag h e affondare in /dev/null
- 5.8 Flag i e pipe flag f
- 5.9 Flag r
- 5.10 Sfondo del flag c
- 5.11 Flag c prima che il blocco annidato fork un figlio
- 5.12 Flag c e comprensione della possibile penalità di fork
- 5.13 Flag prima del blocco annidato
- 5.14 Tutorial sui flag aAeE 6.0 Corrispondenza e regexps (espressioni regolari)
- 6.1 Filosofia dell’astrazione nelle regexps
- 6.2 Le corrispondenze non sono sensibili al maiuscolo
- 6.3 Procmail utilizza corrispondenze su più righe
- 6.4 Le intestazioni vengono srotolate prima della corrispondenza
- 6.5 Migliorare la sindrome spazio-tab
- 6.6 Gestire il carattere di esclamazione
- 6.7 Regole per generare una classe di caratteri
- 6.8 Corrispondenza dello spazio alla fine della condizione
- 6.9 Fai attenzione al backslash iniziale
- 6.10 Uso corretto del macro TO
- 6.11 Motore regexp di Procmail
- 6.12 Differenze tra Procmail e egrep
- 6.13 Comprendere la corrispondenza minima di procmail (avaro vs. avido)
- 6.14 Spiegare \/ e ()\/
- 6.15 Spiegare ^^ e ^
- 6.16 AND tradizionalmente
- 6.17 OR tradizionalmente
- 6.18 OR e ricetta di punteggio
- 6.19 OR utilizzando le regole di De Morgan 7.0 Variabili
- 7.1 Impostazione e disattivazione delle variabili
- 7.2 Inizializzazione delle variabili e sintassi sh
- 7.3 Testare le variabili
- 7.4 Cosa significa $\VAR?
- 7.5 Errori comuni nell’uso delle variabili
- 7.6 Citazione: utilizzo di virgolette singole o doppie
- 7.7 Citazione: passaggio di valori a un programma esterno
- 7.8 Passaggio di valori da un programma esterno
- 7.9 Incrementare una variabile di un valore N
- 7.10 Confrontare valori
- 7.11 Stringhe: quanti caratteri ci sono in una data stringa?
- 7.12 Stringhe: come rimuovere la nuova riga finale.
- 7.13 Stringhe: derivare gli ultimi N caratteri di una stringa.
- 7.14 Stringhe: ottenere corrispondenze parziali da una stringa.
- 7.15 Stringhe: esempio di manipolazione delle stringhe Procmail
- 7.16 Come sollevare un flag se il messaggio è stato archiviato
- 7.17 Segno del dollaro nelle righe di condizione.
- 7.18 Trovare la misteriosa variabile foo
- 7.19 Memorizzare codice in una variabile
- 7.20 Ottenere intestazioni in una variabile.
- 7.21 Convertire il valore in minuscolo 8.0 Suggerimenti e vari
- 8.1 Accelerare procmail
- 8.2 Vedi gli esempi di installazione di procmail
- 8.3 Stampa statistiche della tua posta in arrivo
- 8.4 Memorizzazione delle caselle di posta UBE al di fuori della quota
- 8.5 Utilizzo delle prime 5-30 righe dal messaggio
- 8.6 Utilizzo di cat o echo negli script?
- 8.7 Come eseguire un comando shell extra come effetto collaterale?
- 8.8 Forzare lo stato di ritorno “ok” dallo script shell
- 8.9 Rendi il tuo .procmailrc disponibile ad altri
- 8.10 Utilizzo efficiente delle date
- 8.11 Mantieni un log di intestazione semplice
- 8.12 Gzipping dei messaggi
- 8.13 Arresto di emergenza per il tuo .procmailrc 9.0 Punteggio
- 9.1 Utilizzo dei punteggi tramite un esempio
- 9.2 Breve tutorial sul punteggio
- 9.3 Ambito del punteggio
- 9.4 Conteggio della lunghezza di una stringa
- 9.5 Conteggio delle righe in un messaggio (Aggiunta di righe: intestazione)
- 9.6 Determinare se il corpo è più lungo dell’intestazione
- 9.7 Corrispondenza dell’ultima intestazione ricevuta
- 9.8 Testare l’intervallo di valori con punteggio (bogofilter)
- 9.9 Come aggiungere l’intestazione Content-Length
- 9.10 Testare la dimensione del messaggio o il numero di righe
- 9.11 Conteggio delle virgole con includerc ricorsivo 10.0 Utilizzo di Formail
- 10.1 Recupero dei campi con formail -x
- 10.2 Utilizzare sempre l’opzione -rt di formail
- 10.3 Utilizzo di -rt e riscrittura dell’indirizzo Da
- 10.4 Formail -rt e intestazione Resent-From
- 10.5 Citazione del messaggio
- 10.6 Senza citare il messaggio
- 10.7 Come includere intestazioni e corpo nel messaggio di risposta
- 10.8 Aggiungere testo all’inizio del messaggio
- 10.9 Aggiungere testo alla fine del messaggio
- 10.10 Aggiungere testo prima del messaggio citato
- 10.11 Aggiungere intestazioni extra da un file
- 10.12 Divisione del digest
- 10.13 Casella di posta: divisione in file individuali
- 10.14 Casella di posta: estrazione di tutti gli indirizzi Da dalla casella di posta
- 10.15 Casella di posta: applicare la ricetta procmail all’intera casella di posta
- 10.16 Casella di posta: eseguire una serie di comandi per ogni posta (dividi la casella di posta)
- 10.17 Opzione -D e cache
- 10.18 Opzione -D e message-id nel corpo
- 10.19 Ridurre le chiamate a formail (aggiunta condizionale di campi)
- 10.20 Opzioni Formail -A -a
- 10.21 Opzioni Formail -e -s 11.0 Salvataggio dei messaggi della mailing list
- 11.1 Utilizzo della subroutine pm-jalist.rc per rilevare le mailing list
- 11.2 Utilizzo dell’indirizzamento plus [email protected]
- 11.3 Utilizzo del trucco di commento RFC per informazioni aggiuntive
- 11.4 Gestione semplice delle mailing list
- 11.5 Archiviazione in base a TO
- 11.6 Utilizzo del Return-Path per rilevare le mailing list 12.0 Procmail, MIME e HTML
- 12.1 Bibliografia Mime
- 12.2 Note Mime
- 12.3 Software per gestire mime o HTML
- 12.4 Tipo di contenuto Mime application/ms-tnef
- 12.5 Intrappolamento dei messaggi mime HTML
- 12.6 Lamentarsi dei messaggi HTML
- 12.7 Conversione del corpo HTML in testo semplice
- 12.8 Sbarazzarsi degli allegati mime indesiderati (HTML, vcard)
- 12.9 Inviare i contenuti di una pagina HTML in testo semplice a qualcuno 13.0 Esempi di ricette semplici
- 13.1 Salvataggio: cartelle MH – messaggi numerati
- 13.2 Salvataggio: in cartelle mensili
- 13.3 Modifica: Filtraggio di base
- 13.4 Modifica: Compressione delle righe vuote attorno al corpo del messaggio
- 13.5 Modifica: mescolare le intestazioni sempre nello stesso ordine
- 13.6 Servizio: Risponditore automatico a messaggi vuoti
- 13.7 Servizio: Risponditore ping
- 13.8 Servizio: semplice vacanza con procmail
- 13.9 Servizio: esempio di codice per le vacanze
- 13.10 Servizio: inoltro automatico
- 13.11 Servizio: inoltrare solo messaggi specifici
- 13.12 Servizio: Creazione di digest
- 13.13 Uccidi: uccidere intestazioni e piè di pagina pubblicitari
- 13.14 Uccidi: ricetta semplice per il file di uccisione con procmail
- 13.15 Uccidi: messaggi duplicati
- 13.16 Uccidi: filtro spam con ricette semplici
- 13.17 Uccidi: messaggi (dis)iscritti
- 13.18 Tempo: lavoro cron-like una volta al giorno
- 13.19 Tempo: Eseguire una ricetta a un’ora prestabilita
- 13.20 Tempo: Attivare la posta e utilizzare cron
- 13.21 Decodifica: Uudecode
- 13.22 Decodifica: MIME
- 13.23 Come inviare comandi nel corpo del messaggio
- 13.24 Corrispondenza di due parole su una riga, ma non una
- 13.25 Come definire macro personali XX?
- 13.26 Come cambiare il soggetto in base alla corrispondenza del corpo
- 13.27 Come cambiare il soggetto in base a un’altra intestazione
- 13.28 Come chiamare un programma con parametri 14.0 Ricette varie
- 14.1 Corrispondenza di intestazione Message-Id valida
- 14.2 Inviare due file in un messaggio
- 14.3 Citazione eccessiva del messaggio
- 14.4 Inviare messaggi al pager in blocchi
- 14.5 Riprodurre un suono particolare quando arriva un messaggio
- 14.6 Combinare più intestazioni Original-Cc e Original-To
- 14.7 Inoltrare messaggi sensibili in formato crittografato 15.0 Procmail e PGP
- 15.1 Decrittare automaticamente i messaggi pgp
- 15.2 Ottenere chiavi dal server di chiavi
- 15.3 Acquisire automaticamente le chiavi pgp in arrivo 16.0 Utilizzo di Includerc
- 16.1 Utilizzo: più file rc
- 16.2 Utilizzo: chiamare il file rc condizionatamente
- 16.3 Utilizzo: caricamento automatico di un file rc
- 16.4 Creazione: denominazione del file rc
- 16.5 Creazione: utilizzo dello spazio dei nomi quando si salvano le variabili procmail
- 16.6 Creazione: variabili pubbliche e private nel file rc
- 16.7 Le regole pratiche per costruire file rc generali
- 16.8 Uno scheletro di includerc 17.0 Server di mailing list 18.0 Problemi comuni
- 18.1 Modalità Procmail: normale, consegna e filtro di posta.
- 18.2 Procmail come dispositivo di filtraggio della posta Mlocal di sendmail
- 18.3 Procmail non passa caratteri a 8 bit
- 18.4 Il mio ISP non è molto interessato a installare procmail
- 18.5 Il mio ISP ha procmailrc a livello di sistema; è una buona idea?
- 18.6 Procmail cambia le autorizzazioni della casella di posta e della directory
- 18.7 Cambiare le autorizzazioni della mbox durante la compilazione a 660
- 18.8 Il file .forward deve essere un file reale
- 18.9 Utilizzo di .forward se procmail è già LDA
- 18.10 La posta deve essere messa nella coda della posta se la scrittura fallisce
- 18.11 Qmail: come farlo funzionare con procmail
- 18.12 Qmail: Procmail guarda il file solo da /var/spool/mail
- 18.13 Qmail: patch a procmail 3.11pre7 per funzionare con Maildirs
- 18.14 AFS: come utilizzare Procmail quando HOME è in cella AFS
- 18.15 Aiuto, qualche idiota ha inviato il mio indirizzo a 30 mailing list
- 18.16 Aiuto, Procmail emette un segnale e stampa sulla mia console
- 18.17 Aiuto, procmail scarica la posta sulla console
- 18.18 Aiuto, riga From_ corrotta nella casella di posta
- 18.19 Dire la posta dell’utente a HOME invece di /var/spool/
- 18.20 Il montaggio NFS di /var/mail è un buon modo per ottenere prestazioni scadenti
- 18.21 Non riesco a vedere la risposta di sendmail in LOGFILE
- 18.22 Compilazione di procmail e scelta dello schema di blocco
- 18.23 L’inoltro di molta posta causa un carico pesante
- 18.24 Cosa succede alla posta se MDA Procmail fallisce
- 18.25 Procmail legge l’intero messaggio di 90 Mb in memoria
- 18.26 Aiuto, procmail utilizza occasionalmente un’enorme quantità di memoria
- 18.27 Procmail ha segnalato mancanza di memoria nel mio log dettagliato
- 18.28 Variabili DEFAULT e ORGMAIL
- 18.29 Quando DEFAULT non può essere inviato
- 18.30 Variabile DROPPRIVS
- 18.31 Variabile HOME
- 18.32 Variabile HOST
- 18.33 Variabile LINEBUF
- 18.34 Variabile LOG e LOGFILE
- 18.35 Variabile TRAP
- 18.36 Variabile UMASK
- 18.37 UMASK e autorizzazioni
- 18.38 Differenza di prestazioni tra backtick e ricetta “|”
- 18.39 Nomi dei file temporanei di Procmail durante la scrittura del file
- 18.40 Parametro $@
- 18.41 Le variabili procmail sono terminate da null (rilevamento della stringa nulla)
- 18.42 FROMDAEMON TO e TO e sensibilità al maiuscolo
- 18.43 Macro TO_ decifrata
- 18.44 Macro TO_ e RFC 822
- 18.45 FROM_DAEMON decifrato 19.0 Questioni tecniche
- 19.1 Elenco dei codici di uscita
- 19.2 Elenco dei codici di precedenza
- 19.3 Sendmail e -t
- 19.4 RFC822 Reply-To e problema formail con più destinatari
- 19.5 Procmail e server IMAP
- 19.6 Macchina che elabora la posta
- 19.7 Compilazione di procmail e MAILSPOOLHOME 20.0 Software Procmail per Emacs
- 20.1 Cos’è Emacs
- 20.2 Modalità procmail di Emacs e controllo del codice Procmail (Lint)
- 20.3 Perché usare procmail con Gnus
- 20.4 Configurazione di Gnus per procmail - Nozioni di base
- 20.5 Gnus per procmail - Maggiori informazioni
- 20.6 Emacs e Gnus – Giocare con i file spool
- 20.7 Frammenti di articoli Gnus 21.0 RFC, Richiesta di commenti
- 21.1 RFC e la loro giurisdizione (indirizzi modificati)
- 21.2 Commenti sugli indirizzi modificati
- 21.3 RFC e caratteri validi degli indirizzi e-mail
- 21.4 RFC e login-name@fdqn
- 21.5 RFC e firma dei messaggi
- 21.6 RFC e utilizzo di MIME nei gruppi di discussione Usenet
- 21.7 Alcuni puntatori RFC 22.0 Introduzione alle intestazioni e-mail
- 22.1 Per saperne di più sulla posta (Risorse)
- 22.2 Lezione di Alan Stebbens
- 22.3 Applicato ai messaggi ricevuti
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.