Procmail · 12 min read · Dec 30, 2025

6.0 Correspondance et regexps (expressions régulières)

Auteur : Jari Aalto.

1.0 Identifiant du document

  • 1.1 Généralités
  • 1.2 Qu’est-ce que Procmail ?
  • 1.3 Abréviations et remerciements
  • 1.4 Informations sur la version
  • 1.5 Mise en page et maintenance du document
  • 1.6 À propos des recettes présentées
  • 1.7 Variables utilisées dans les recettes
  • 1.8 À propos du “prix pour l’utilisation inutile de cat” 2.0 Pointeurs Procmail
  • 2.1 Où Procmail est-il développé
  • 2.2 Ressources Procmail
  • 2.3 Mode Procmail pour Emacs
  • 2.4 Projet de bibliothèque de modules Procmail
  • 2.5 Code Procmail pour filtrer UBE 3.0 Test à blanc
  • 3.1 Qu’est-ce que le test à blanc ?
  • 3.2 Pourquoi le champ From n’est-il pas correct après un test à blanc ?
  • 3.3 Obtenir la valeur par défaut d’une variable procmail 4.0 Choses à retenir
  • 4.1 Obtenez le dernier procmail
  • 4.2 Le tilde de Csh n’est pas supporté
  • 4.3 Assurez-vous d’écrire la recette correctement
  • 4.4 Toujours définir SHELL
  • 4.5 Vérifiez et définissez PATH
  • 4.6 Gardez le journal tout le temps
  • 4.7 Ne jamais ajouter de barre oblique finale pour les répertoires
  • 4.8 Rappelez-vous ce que signifie le terme DELIVERED
  • 4.9 Attention à mettre des commentaires aux mauvais endroits
  • 4.10 Placement des accolades
  • 4.11 Utilisation de fichiers de verrouillage locaux
  • 4.12 Fichier de verrouillage global
  • 4.13 Eh bien, où puis-je mettre tous ces ! * $ ??
  • 4.14 Si vous envoyez une réponse automatique, utilisez l’en-tête X-loop
  • 4.15 Évitez une couche de shell supplémentaire et vérifiez la commande pour SHELLMETAS
  • 4.16 Pensez aux commandes shell que vous utilisez
  • 4.17 Utilisation de chemins absolus lors de l’appel d’un programme shell
  • 4.18 Désactiver temporairement une recette
  • 4.19 Gardez une sauvegarde des messages, quoi qu’il arrive
  • 4.20 Ordre des recettes procmail 5.0 Drapeaux Procmail
  • 5.1 L’ordre des drapeaux
  • 5.2 Drapeaux HB en haut de la recette (avertissement)
  • 5.3 Drapeau w et recette avec |
  • 5.4 Drapeau w, fichier de verrouillage et recette avec |
  • 5.5 Drapeau f et w ensemble
  • 5.6 Drapeaux h et b
  • 5.7 Drapeau h et envoi vers /dev/null
  • 5.8 Drapeau i et drapeau de tuyau f
  • 5.9 Drapeau r
  • 5.10 Contexte du drapeau c
  • 5.11 Drapeau c avant que le bloc imbriqué ne fork un enfant
  • 5.12 Drapeau c et compréhension de la pénalité de fork possible
  • 5.13 Drapeaux avant le bloc imbriqué
  • 5.14 Tutoriel sur les drapeaux aAeE 6.0 Correspondance et regexps (expressions régulières)
  • 6.1 Philosophie de l’abstraction dans les regexps
  • 6.2 Les correspondances ne sont pas sensibles à la casse
  • 6.3 Procmail utilise des correspondances multi-lignes
  • 6.4 Les en-têtes sont dépliés avant la correspondance
  • 6.5 Améliorer le syndrome espace-tab
  • 6.6 Gestion du caractère d’exclamation
  • 6.7 Règles pour générer une classe de caractères
  • 6.8 Correspondance d’espace à la fin de la condition
  • 6.9 Attention au backslash de tête
  • 6.10 Utilisation correcte de la macro TO
  • 6.11 Moteur regexp de Procmail
  • 6.12 Différences entre Procmail et egrep
  • 6.13 Comprendre la correspondance minimale de procmail (économe vs. avide)
  • 6.14 Expliquer \/ et ()\/
  • 6.15 Expliquer ^^ et ^
  • 6.16 ANDing traditionnellement
  • 6.17 ORing traditionnellement
  • 6.18 ORing et recette de score
  • 6.19 ORing en utilisant les règles de De Morgan 7.0 Variables
  • 7.1 Définir et annuler des variables
  • 7.2 Initialisation des variables et syntaxe sh
  • 7.3 Tester des variables
  • 7.4 Que signifie $\VAR ?
  • 7.5 Pièges courants lors de l’utilisation de variables
  • 7.6 Citations : Utilisation de guillemets simples ou doubles
  • 7.7 Citations : Passer des valeurs à un programme externe
  • 7.8 Passer des valeurs d’un programme externe
  • 7.9 Incrémenter une variable par une valeur N
  • 7.10 Comparer des valeurs
  • 7.11 Chaînes : Combien de caractères y a-t-il dans une chaîne donnée ?
  • 7.12 Chaînes : Comment supprimer la nouvelle ligne finale.
  • 7.13 Chaînes : dériver les derniers N caractères d’une chaîne.
  • 7.14 Chaînes : Obtenir des correspondances partielles d’une chaîne.
  • 7.15 Chaînes : Exemple de manipulation de chaînes Procmail
  • 7.16 Comment lever un drapeau si le message a été classé
  • 7.17 Signe dollar dans les lignes de condition.
  • 7.18 Trouver la mystérieuse variable foo
  • 7.19 Stocker du code dans une variable
  • 7.20 Obtenir des en-têtes dans une variable.
  • 7.21 Convertir la valeur en minuscules 8.0 Suggestions et divers
  • 8.1 Accélérer procmail
  • 8.2 Voir les exemples d’installation de procmail
  • 8.3 Imprimer des statistiques de votre courrier entrant
  • 8.4 Stocker des boîtes aux lettres UBE en dehors de la quota
  • 8.5 Utiliser les 5-30 premières lignes du message
  • 8.6 Utiliser cat ou echo dans des scripts ?
  • 8.7 Comment exécuter une commande shell supplémentaire comme effet secondaire ?
  • 8.8 Forcer le statut de retour “ok” à partir du script shell
  • 8.9 Rendez votre propre .procmailrc disponible pour les autres
  • 8.10 Utiliser les dates efficacement
  • 8.11 Gardez un journal d’en-têtes simple
  • 8.12 Gzipping des messages
  • 8.13 Arrêt d’urgence pour votre .procmailrc 9.0 Scoring
  • 9.1 Utiliser des scores par un exemple
  • 9.2 Bref tutoriel sur les scores
  • 9.3 Portée des scores
  • 9.4 Compter la longueur d’une chaîne
  • 9.5 Compter les lignes dans un message (Ajout de lignes : en-tête)
  • 9.6 Déterminer si le corps est plus long que l’en-tête
  • 9.7 Correspondance du dernier en-tête reçu
  • 9.8 Tester la plage de valeurs avec le scoring (bogofilter)
  • 9.9 Comment ajouter l’en-tête Content-Length
  • 9.10 Tester la taille du message ou le nombre de lignes
  • 9.11 Compter les virgules avec includerc récursif 10.0 Utilisation de Formail
  • 10.1 Récupérer des champs avec formail -x
  • 10.2 Utilisez toujours l’option -rt de formail
  • 10.3 Utilisation de -rt et réécriture de l’adresse From
  • 10.4 Formail -rt et en-tête Resent-From
  • 10.5 Citations du message
  • 10.6 Sans citer le message
  • 10.7 Comment inclure des en-têtes et le corps dans le message de réponse
  • 10.8 Ajouter du texte au début du message
  • 10.9 Ajouter du texte à la fin du message
  • 10.10 Ajouter du texte avant le message cité
  • 10.11 Ajouter des en-têtes supplémentaires à partir d’un fichier
  • 10.12 Diviser le digest
  • 10.13 Boîte aux lettres : Diviser en fichiers individuels
  • 10.14 Boîte aux lettres : Extraire toutes les adresses From de la boîte aux lettres
  • 10.15 Boîte aux lettres : Appliquer la recette procmail sur l’ensemble de la boîte aux lettres
  • 10.16 Boîte aux lettres : exécuter une série de commandes pour chaque mail (boîte aux lettres divisée)
  • 10.17 Option -D et cache
  • 10.18 Option -D et message-id dans le corps
  • 10.19 Réduire les appels à formail (ajout conditionnel de champs)
  • 10.20 Options Formail -A -a
  • 10.21 Options Formail -e -s 11.0 Enregistrement des messages de liste de diffusion
  • 11.1 Utilisation de la sous-routine pm-jalist.rc pour détecter les listes de diffusion
  • 11.2 Utilisation de l’adressage plus [email protected]
  • 11.3 Utilisation de la technique de commentaire RFC pour des informations supplémentaires
  • 11.4 Gestion simple des listes de diffusion
  • 11.5 Archivage selon TO
  • 11.6 Utilisation de Return-Path pour détecter les listes de diffusion 12.0 Procmail, MIME et HTML
  • 12.1 Bibliographie Mime
  • 12.2 Notes Mime
  • 12.3 Logiciel pour traiter mime ou HTML
  • 12.4 Type de contenu mime application/ms-tnef
  • 12.5 Piéger les messages mime HTML
  • 12.6 Se plaindre des messages HTML
  • 12.7 Convertir le corps HTML en texte brut
  • 12.8 Se débarrasser des pièces jointes mime indésirables (HTML, vcard)
  • 12.9 Envoyer le contenu d’une page HTML en texte brut à quelqu’un 13.0 Exemples de recettes simples
  • 13.1 Enregistrement : dossiers MH – messages numérotés
  • 13.2 Enregistrement : dans des dossiers mensuels
  • 13.3 Modification : Bases du filtrage
  • 13.4 Modification : Écraser les lignes vides autour du corps du message
  • 13.5 Modification : mélanger les en-têtes toujours dans le même ordre
  • 13.6 Service : Répondeur automatique aux messages vides
  • 13.7 Service : Répondeur ping
  • 13.8 Service : vacances simples avec procmail
  • 13.9 Service : exemple de code de vacances
  • 13.10 Service : Transfert automatique
  • 13.11 Service : transférer uniquement des messages spécifiques
  • 13.12 Service : Création de digests
  • 13.13 Kill : tuer les en-têtes et pieds de page publicitaires
  • 13.14 Kill : recette simple de kill file avec procmail
  • 13.15 Kill : messages en double
  • 13.16 Kill : filtre anti-spam avec des recettes simples
  • 13.17 Kill : messages (dés)abonnés
  • 13.18 Temps : Tâche cron quotidienne
  • 13.19 Temps : Exécution d’une recette à un moment donné
  • 13.20 Temps : Déclenchement de mail et utilisation de cron
  • 13.21 Décodage : Uudecode
  • 13.22 Décodage : MIME
  • 13.23 Comment envoyer des commandes dans le corps du message
  • 13.24 Correspondance de deux mots sur une ligne, mais pas un
  • 13.25 Comment définir des macros personnelles XX ?
  • 13.26 Comment changer le sujet par correspondance dans le corps
  • 13.27 Comment changer le sujet selon un autre en-tête
  • 13.28 Comment appeler un programme avec des paramètres 14.0 Recettes diverses
  • 14.1 Correspondance d’en-tête Message-Id valide
  • 14.2 Envoyer deux fichiers dans un message
  • 14.3 Citation excessive du message
  • 14.4 Envoyer un message au pager par morceaux
  • 14.5 Jouer un son particulier lorsque le message arrive
  • 14.6 Combiner plusieurs en-têtes Original-Cc et Original-To
  • 14.7 Transférer des messages sensibles au format crypté 15.0 Procmail et PGP
  • 15.1 Déchiffrer automatiquement les messages pgp
  • 15.2 Obtenir des clés à partir du serveur de clés
  • 15.3 Récupération automatique des clés pgp entrantes 16.0 Utilisation d’Includerc
  • 16.1 Utilisation : plusieurs fichiers rc
  • 16.2 Utilisation : appel de fichier rc conditionnellement
  • 16.3 Utilisation : chargement automatique d’un fichier rc
  • 16.4 Création : nommage du fichier rc
  • 16.5 Création : utilisation de l’espace de noms lors de l’enregistrement des variables procmail
  • 16.6 Création : Variables publiques et privées dans le fichier rc
  • 16.7 Règles de base pour construire un fichier rc polyvalent
  • 16.8 Un squelette d’includerc 17.0 Serveur de liste de diffusion 18.0 Problèmes courants
  • 18.1 Modes Procmail : normal, livraison et filtre de mail.
  • 18.2 Procmail en tant que dispositif de filtrage de mail Mlocal
  • 18.3 Procmail ne passe pas les caractères 8 bits
  • 18.4 Mon FAI n’est pas très intéressé à installer procmail
  • 18.5 Mon FAI a un procmailrc système ; est-ce une bonne idée ?
  • 18.6 Procmail change les permissions de la boîte aux lettres et du répertoire
  • 18.7 Changer la permission mbox lors de la compilation à 660
  • 18.8 Le fichier .forward doit être un vrai fichier
  • 18.9 Utiliser .forward si procmail est déjà LDA
  • 18.10 Le mail doit être mis dans la file d’attente si l’écriture échoue
  • 18.11 Qmail : comment le faire fonctionner avec procmail
  • 18.12 Qmail : Procmail ne regarde le fichier que depuis /var/spool/mail uniquement
  • 18.13 Qmail : patch pour procmail 3.11pre7 pour fonctionner avec Maildirs
  • 18.14 AFS : Comment utiliser Procmail lorsque HOME est dans une cellule AFS
  • 18.15 Aidez-moi, un idiot a envoyé mon adresse à 30 listes de diffusion
  • 18.16 Aidez-moi, Procmail bip et imprime sur ma console
  • 18.17 Aidez-moi, procmail déverse le mail sur la console
  • 18.18 Aidez-moi, ligne From_ corrompue dans la boîte aux lettres
  • 18.19 Diriger le mail de l’utilisateur vers HOME au lieu de /var/spool/
  • 18.20 Monter NFS /var/mail est un bon moyen d’obtenir de mauvaises performances
  • 18.21 Je ne peux pas voir la réponse de sendmail dans LOGFILE
  • 18.22 Compiler procmail et choisir un schéma de verrouillage
  • 18.23 Le transfert d’un lot de mails entraîne une lourde charge
  • 18.24 Que se passe-t-il avec le mail si MDA Procmail échoue
  • 18.25 Procmail lit l’intégralité du message de 90 Mo en mémoire
  • 18.26 Aidez-moi, procmail utilise parfois une énorme quantité de mémoire
  • 18.27 Procmail a signalé un manque de mémoire dans mon journal détaillé
  • 18.28 Variables DEFAULT et ORGMAIL
  • 18.29 Lorsque DEFAULT ne peut pas être envoyé
  • 18.30 Variable DROPPRIVS
  • 18.31 Variable HOME
  • 18.32 Variable HOST
  • 18.33 Variable LINEBUF
  • 18.34 Variable LOG et LOGFILE
  • 18.35 Variable TRAP
  • 18.36 Variable UMASK
  • 18.37 UMASK et permissions
  • 18.38 Différence de performance entre backtick et “|” recette
  • 18.39 Noms de fichiers temporaires de Procmail lors de l’écriture du fichier
  • 18.40 Paramètre $@
  • 18.41 Les variables Procmail sont terminées par un null (détection de chaîne nulle)
  • 18.42 FROMDAEMON TO et TO et sensibilité à la casse
  • 18.43 Macro TO_ déchiffrée
  • 18.44 Macro TO_ et RFC 822
  • 18.45 FROM_DAEMON déchiffré 19.0 Questions techniques
  • 19.1 Liste des codes de sortie
  • 19.2 Liste des codes de priorité
  • 19.3 Sendmail et -t
  • 19.4 RFC822 Reply-To et problème formail avec plusieurs destinataires
  • 19.5 Procmail et serveur IMAP
  • 19.6 Machine qui traite le mail
  • 19.7 Compiler procmail et MAILSPOOLHOME 20.0 Logiciel Procmail pour Emacs
  • 20.1 Qu’est-ce qu’Emacs
  • 20.2 Mode procmail Emacs et vérification du code Procmail (Lint)
  • 20.3 Pourquoi utiliser procmail avec Gnus
  • 20.4 Configuration de Gnus pour procmail - Bases
  • 20.5 Gnus pour procmail - Plus d’informations à ce sujet
  • 20.6 Emacs et Gnus – Manipulation des fichiers spool
  • 20.7 Extraits d’articles Gnus 21.0 RFC, Demande de commentaires
  • 21.1 RFC et leur juridiction (adresses modifiées)
  • 21.2 Commentaires sur la modification des adresses
  • 21.3 RFC et caractères d’adresse e-mail valides
  • 21.4 RFC et login-name@fdqn
  • 21.5 RFC et signature des messages
  • 21.6 RFC et utilisation de MIME dans les groupes de discussion Usenet
  • 21.7 Quelques pointeurs RFC 22.0 Introduction aux en-têtes de courrier électronique
  • 22.1 Pour en savoir plus sur le courrier (Ressources)
  • 22.2 Conférence par Alan Stebbens
  • 22.3 Appliqué aux messages reçus
  • 22.4 En-têtes de message
  • 22.5 Qu’est-ce que la syntaxe correcte de l’adresse From
Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.