Procmail · 10 min read · Dec 30, 2025

6.0 Übereinstimmung und reguläre Ausdrücke (regexps)

Autor: Jari Aalto.

1.0 Dokument-ID

  • 1.1 Allgemeines
  • 1.2 Was ist Procmail?
  • 1.3 Abkürzungen und Danksagungen
  • 1.4 Versionsinformationen
  • 1.5 Dokumentenlayout und -pflege
  • 1.6 Über die vorgestellten Rezepte
  • 1.7 In Rezepten verwendete Variablen
  • 1.8 Über die “nutzlose Verwendung von cat”-Auszeichnung 2.0 Procmail-Hinweise
  • 2.1 Wo wird Procmail entwickelt
  • 2.2 Procmail-Ressourcen
  • 2.3 Procmail-Modus für Emacs
  • 2.4 Procmail-Modulbibliotheksprojekt
  • 2.5 Procmail-Code zum Filtern von UBE 3.0 Trockenlauf-Tests
  • 3.1 Was ist ein Trockenlauf-Test?
  • 3.2 Warum ist das Feld “Von” nach dem Trockenlauf nicht in Ordnung?
  • 3.3 Erhalten des Standardwerts einer Procmail-Variablen 4.0 Dinge, die zu beachten sind
  • 4.1 Holen Sie sich die neueste Procmail-Version
  • 4.2 Csh’s Tilde wird nicht unterstützt
  • 4.3 Stellen Sie sicher, dass Sie das Rezept richtig beginnen
  • 4.4 Setzen Sie immer SHELL
  • 4.5 Überprüfen und setzen Sie PATH
  • 4.6 Halten Sie das Protokoll immer an
  • 4.7 Fügen Sie niemals einen abschließenden Schrägstrich für Verzeichnisse hinzu
  • 4.8 Denken Sie daran, was der Begriff “ZUGELIEFERT” bedeutet
  • 4.9 Seien Sie vorsichtig, Kommentare an falschen Stellen zu setzen
  • 4.10 Platzierung von geschweiften Klammern
  • 4.11 Verwendung von lokalen Lockfiles
  • 4.12 Globales Lockfile
  • 4.13 Wo soll ich all diese ! * $ ?? hinlegen?
  • 4.14 Wenn Sie eine automatische Antwort senden, verwenden Sie den X-Loop-Header
  • 4.15 Vermeiden Sie eine zusätzliche Shell-Schicht und überprüfen Sie den Befehl auf SHELLMETAS
  • 4.16 Denken Sie darüber nach, welche Shell-Befehle Sie verwenden
  • 4.17 Verwenden Sie absolute Pfade, wenn Sie ein Shell-Programm aufrufen
  • 4.18 Deaktivieren Sie ein Rezept vorübergehend
  • 4.19 Halten Sie eine Sicherung der Nachricht, egal was passiert
  • 4.20 Reihenfolge der Procmail-Rezepte 5.0 Procmail-Flags
  • 5.1 Die Reihenfolge der Flags
  • 5.2 Flags HB oben im Rezept (Warnung)
  • 5.3 Flag w und Rezept mit |
  • 5.4 Flag w, Lockfile und Rezept mit |
  • 5.5 Flag f und w zusammen
  • 5.6 Flags h und b
  • 5.7 Flag h und Sinken nach /dev/null
  • 5.8 Flag i und Pipe-Flag f
  • 5.9 Flag r
  • 5.10 Hintergrund von Flag c
  • 5.11 Flag c, bevor der verschachtelte Block ein Kind erzeugt
  • 5.12 Flag c und das Verständnis möglicher Forking-Strafen
  • 5.13 Flags vor dem verschachtelten Block
  • 5.14 Flags aAeE-Tutorial 6.0 Übereinstimmung und regexps (reguläre Ausdrücke)
  • 6.1 Philosophie der Abstraktion in regexps
  • 6.2 Übereinstimmungen sind nicht groß-/kleinschreibungssensitiv
  • 6.3 Procmail verwendet mehrzeilige Übereinstimmungen
  • 6.4 Header werden vor der Übereinstimmung entfaltet
  • 6.5 Verbesserung des Space-Tab-Syndroms
  • 6.6 Umgang mit dem Ausrufezeichen
  • 6.7 Regeln zur Erstellung einer Zeichensatzklasse
  • 6.8 Übereinstimmung mit Leerzeichen am Ende der Bedingung
  • 6.9 Vorsicht bei führendem Backslash
  • 6.10 Korrekte Verwendung des TO-Makros
  • 6.11 Procmails regexp-Engine
  • 6.12 Unterschiede zwischen Procmail und egrep
  • 6.13 Verständnis von Procmails minimaler Übereinstimmung (geizig vs. gierig)
  • 6.14 Erklärung von \/ und ()\/
  • 6.15 Erklärung von ^^ und ^
  • 6.16 Traditionelles ANDing
  • 6.17 Traditionelles ORing
  • 6.18 ORing und Score-Rezept
  • 6.19 ORing unter Verwendung der De Morgan-Regeln 7.0 Variablen
  • 7.1 Setzen und Zurücksetzen von Variablen
  • 7.2 Variableninitialisierung und sh-Syntax
  • 7.3 Testen von Variablen
  • 7.4 Was bedeutet $\VAR?
  • 7.5 Häufige Fallstricke bei der Verwendung von Variablen
  • 7.6 Zitieren: Verwendung von einfachen oder doppelten Anführungszeichen
  • 7.7 Zitieren: Werte an ein externes Programm übergeben
  • 7.8 Werte von einem externen Programm übergeben
  • 7.9 Erhöhen einer Variablen um einen Wert N
  • 7.10 Vergleichen von Werten
  • 7.11 Zeichenfolgen: Wie viele Zeichen gibt es in einer bestimmten Zeichenfolge?
  • 7.12 Zeichenfolgen: Wie man das abschließende neue Zeilenzeichen entfernt.
  • 7.13 Zeichenfolgen: Ableiten der letzten N Zeichen einer Zeichenfolge.
  • 7.14 Zeichenfolgen: Teilübereinstimmungen aus einer Zeichenfolge erhalten.
  • 7.15 Zeichenfolgen: Procmail-Zeichenfolgenbearbeitungsbeispiel
  • 7.16 Wie man eine Flagge erhöht, wenn die Nachricht abgelegt wurde
  • 7.17 Dollarzeichen in Bedingungszeilen.
  • 7.18 Finden der mysteriösen foo-Variablen
  • 7.19 Speichern von Code in einer Variablen
  • 7.20 Header in eine Variable bekommen.
  • 7.21 Wert in Kleinbuchstaben umwandeln 8.0 Vorschläge und Verschiedenes
  • 8.1 Procmail beschleunigen
  • 8.2 Siehe die Beispiele der Procmail-Installation
  • 8.3 Drucken von Statistiken über Ihre eingehende Mail
  • 8.4 Speichern von UBE-Postfächern außerhalb des Kontingents
  • 8.5 Verwenden der ersten 5-30 Zeilen aus der Nachricht
  • 8.6 Verwendung von cat oder echo in Skripten?
  • 8.7 Wie man einen zusätzlichen Shell-Befehl als Nebeneffekt ausführt?
  • 8.8 Erzwingen des “ok” Rückgabestatus aus einem Shell-Skript
  • 8.9 Machen Sie Ihre eigene .procmailrc für andere verfügbar
  • 8.10 Daten effizient nutzen
  • 8.11 Halten Sie einfaches Header-Protokoll
  • 8.12 Gzipping-Nachrichten
  • 8.13 Not-Aus für Ihre .procmailrc 9.0 Scoring
  • 9.1 Verwendung von Scores anhand eines Beispiels
  • 9.2 Kurzes Score-Tutorial
  • 9.3 Umfang des Scores
  • 9.4 Zählen der Länge einer Zeichenfolge
  • 9.5 Zählen der Zeilen in einer Nachricht (Hinzufügen von Zeilen: Header)
  • 9.6 Bestimmen, ob der Körper länger ist als der Header
  • 9.7 Übereinstimmung mit dem letzten “Received”-Header
  • 9.8 Testen des Wertebereichs mit Scoring (bogofilter)
  • 9.9 Wie man den “Content-Length”-Header hinzufügt
  • 9.10 Testen der Nachrichtengröße oder der Anzahl der Zeilen
  • 9.11 Zählen von Kommas mit rekursivem includerc 10.0 Formail-Nutzung
  • 10.1 Abrufen von Feldern mit formail -x
  • 10.2 Verwenden Sie immer die -rt-Option von formail
  • 10.3 Verwendung von -rt und Umschreiben der “Von”-Adresse
  • 10.4 Formail -rt und “Resent-From”-Header
  • 10.5 Zitieren der Nachricht
  • 10.6 Ohne die Nachricht zu zitieren
  • 10.7 So fügen Sie Header und Body zur Antwortnachricht hinzu
  • 10.8 Hinzufügen von Text zu Beginn der Nachricht
  • 10.9 Hinzufügen von Text am Ende der Nachricht
  • 10.10 Hinzufügen von Text vor der zitierten Nachricht
  • 10.11 Hinzufügen zusätzlicher Header aus einer Datei
  • 10.12 Aufteilen von Digests
  • 10.13 Postfach: Aufteilen in einzelne Dateien
  • 10.14 Postfach: Alle “Von”-Adressen aus dem Postfach extrahieren
  • 10.15 Postfach: Anwenden des Procmail-Rezepts auf das gesamte Postfach
  • 10.16 Postfach: Führen Sie eine Reihe von Befehlen für jede Mail aus (teilen Sie das Postfach)
  • 10.17 Option -D und Cache
  • 10.18 Option -D und Message-ID im Body
  • 10.19 Reduzierung der Formail-Aufrufe (bedingtes Hinzufügen von Feldern)
  • 10.20 Formail -A -a Optionen
  • 10.21 Formail -e -s Optionen 11.0 Speichern von Mailinglisten-Nachrichten
  • 11.1 Verwendung der Unterroutine pm-jalist.rc zur Erkennung von Mailinglisten
  • 11.2 Verwendung von Plus-Adressierung [email protected]
  • 11.3 Verwendung des RFC-Kommentars für zusätzliche Informationen
  • 11.4 Einfache Mailinglistenverwaltung
  • 11.5 Archivierung gemäß TO
  • 11.6 Verwendung des Return-Path zur Erkennung von Mailinglisten 12.0 Procmail, MIME und HTML
  • 12.1 Mime-Bibliographie
  • 12.2 Mime-Notizen
  • 12.3 Software zur Verarbeitung von MIME oder HTML
  • 12.4 Mime-Inhaltstyp application/ms-tnef
  • 12.5 Abfangen von HTML-MIME-Nachrichten
  • 12.6 Beschwerde über HTML-Nachrichten
  • 12.7 Konvertieren des HTML-Körpers in reinen Text
  • 12.8 Unerwünschte MIME-Anhänge (HTML, vCard) loswerden
  • 12.9 Inhalte einer HTML-Seite in reinem Text an jemanden senden 13.0 Einfache Rezeptbeispiele
  • 13.1 Speichern: MH-Ordner – nummerierte Nachrichten
  • 13.2 Speichern: in monatliche Ordner
  • 13.3 Modifizieren: Filtergrundlagen
  • 13.4 Modifizieren: Leere Zeilen um den Nachrichtenkörper herum quetschen
  • 13.5 Modifizieren: Header immer in derselben Reihenfolge mischen
  • 13.6 Dienst: Automatische Antwort auf leere Nachrichten
  • 13.7 Dienst: Ping-Antworter
  • 13.8 Dienst: einfache Urlaubsvertretung mit Procmail
  • 13.9 Dienst: Urlaubsvertretungscodebeispiel
  • 13.10 Dienst: Automatische Weiterleitung
  • 13.11 Dienst: Nur bestimmte Nachrichten weiterleiten
  • 13.12 Dienst: Erstellen von Digests
  • 13.13 Kill: Werbung-Header und -Fußzeilen töten
  • 13.14 Kill: einfaches Kill-File-Rezept mit Procmail
  • 13.15 Kill: doppelte Nachrichten
  • 13.16 Kill: Spam-Filter mit einfachen Rezepten
  • 13.17 Kill: (un)abonnieren von Nachrichten
  • 13.18 Zeit: Einmal täglich cron-ähnlicher Job
  • 13.19 Zeit: Ein Rezept zu einer bestimmten Zeit ausführen
  • 13.20 Zeit: Auslösen von Mail und Verwendung von cron
  • 13.21 Dekodierung: Uudecode
  • 13.22 Dekodierung: MIME
  • 13.23 So senden Sie Befehle im Nachrichtenkörper 14.0 Verschiedene Rezepte
  • 14.1 Übereinstimmung mit gültigem Message-Id-Header
  • 14.2 Senden von zwei Dateien in einer Nachricht
  • 14.3 Übermäßiges Zitieren von Nachrichten
  • 14.4 Senden von Nachrichten an Pager in Stücken
  • 14.5 Abspielen eines bestimmten Sounds, wenn eine Nachricht eintrifft
  • 14.6 Kombinieren mehrerer Original-Cc- und Original-To-Header 15.0 Procmail und PGP
  • 15.1 Automatisches Entschlüsseln von PGP-Nachrichten
  • 15.2 Schlüssel vom Schlüsselserver abrufen
  • 15.3 Automatisches Abrufen eingehender PGP-Schlüssel 16.0 Includerc-Nutzung
  • 16.1 Verwendung: mehrere rc-Dateien
  • 16.2 Verwendung: rc-Datei bedingt aufrufen
  • 16.3 Verwendung: Autoloading einer rc-Datei
  • 16.4 Erstellung: Benennung der rc-Datei
  • 16.5 Erstellung: Verwendung von Namensräumen beim Speichern von Procmail-Variablen
  • 16.6 Erstellung: Öffentliche und private Variablen in rc-Datei
  • 16.7 Die Faustregeln zum Erstellen allgemeiner rc-Dateien
  • 16.8 Ein Includerc-Skelett 17.0 Mailinglistenserver 18.0 Häufige Probleme
  • 18.1 Procmail-Modi: normal, Lieferung und Mailfilter.
  • 18.2 Procmail als Sendmail Mlocal-Mailfiltergerät
  • 18.3 Procmail überträgt keine 8-Bit-Zeichen
  • 18.4 Mein ISP ist nicht sehr daran interessiert, Procmail zu installieren
  • 18.5 Mein ISP hat ein systemweites procmailrc; ist das eine gute Idee?
  • 18.6 Procmail ändert die Berechtigungen von Postfächern und Verzeichnissen
  • 18.7 Ändern der mbox-Berechtigungen während der Kompilierung auf 660
  • 18.8 Die .forward-Datei muss eine echte Datei sein
  • 18.9 Verwendung von .forward, wenn Procmail bereits LDA ist
  • 18.10 Mail sollte in die Mailwarteschlange gelegt werden, wenn das Schreiben fehlschlägt
  • 18.11 Qmail: Wie man es mit Procmail zum Laufen bringt
  • 18.12 Qmail: Procmail sieht nur Dateien aus /var/spool/mail
  • 18.13 Qmail: Patch für Procmail 3.11pre7, um mit Maildirs zu arbeiten
  • 18.14 AFS: Wie man Procmail verwendet, wenn HOME in AFS-Zelle ist
  • 18.15 Hilfe, ein Idiot hat meine Adresse an 30 Mailinglisten gesendet
  • 18.16 Hilfe, Procmail piept und druckt auf meine Konsole
  • 18.17 Hilfe, Procmail dumpft Mail auf die Konsole
  • 18.18 Hilfe, beschädigte From_-Zeile im Postfach
  • 18.19 Benutzer-Mail an HOME anstelle von /var/spool/ umleiten
  • 18.20 NFS-Montage von /var/mail ist eine gute Möglichkeit, schlechte Leistung zu erzielen
  • 18.21 Ich kann die Antwort von Sendmail in LOGFILE nicht sehen
  • 18.22 Kompilieren von Procmail und Auswahl des Sperrschemas
  • 18.23 Weiterleitung vieler Mails verursacht hohe Last
  • 18.24 Was passiert mit der Mail, wenn MDA Procmail fehlschlägt
  • 18.25 Procmail liest die gesamte 90-MB-Nachricht in den Speicher
  • 18.26 Hilfe, Procmail verwendet gelegentlich einen riesigen Speicherblock
  • 18.27 Procmail signalisiert, dass der Speicher in meinem ausführlichen Protokoll ausgeht
  • 18.28 Variablen DEFAULT und ORGMAIL
  • 18.29 Wenn DEFAULT nicht per Post zugestellt werden kann
  • 18.30 Variable DROPPRIVS
  • 18.31 Variable HOME
  • 18.32 Variable HOST
  • 18.33 Variable LINEBUF
  • 18.34 Variable LOG und LOGFILE
  • 18.35 Variable TRAP
  • 18.36 Variable UMASK
  • 18.37 UMASK und Berechtigungen
  • 18.38 Leistungsunterschied zwischen Backtick und “|”-Rezept
  • 18.39 Temporäre Dateinamen von Procmail beim Schreiben von Dateien
  • 18.40 Parameter $@
  • 18.41 Procmail-Variablen sind nullterminiert (Erkennung von Nullzeichen)
  • 18.42 FROMDAEMON TO und TO und Groß-/Kleinschreibungssensitivität
  • 18.43 TO_-Makro entschlüsselt
  • 18.44 TO_-Makro und RFC 822
  • 18.45 FROM_DAEMON entschlüsselt 19.0 Technische Angelegenheiten
  • 19.1 Liste der Rückgabecodes
  • 19.2 Liste der Präzedenzcodes
  • 19.3 Sendmail und -t
  • 19.4 RFC822 Reply-To und Formail-Problem mit mehreren Empfängern
  • 19.5 Procmail und IMAP-Server
  • 19.6 Maschine, die Mail verarbeitet
  • 19.7 Kompilieren von Procmail und MAILSPOOLHOME 20.0 Procmail-Software für Emacs
  • 20.1 Was ist Emacs
  • 20.2 Emacs-Procmail-Modus und Procmail-Codeprüfung (Lint)
  • 20.3 Warum Procmail mit Gnus verwenden
  • 20.4 Gnus für Procmail einrichten - Grundlagen
  • 20.5 Gnus für Procmail - Mehr darüber
  • 20.6 Emacs und Gnus - Fiddling mit Spool-Dateien
  • 20.7 Gnus-Artikel-Snippets 21.0 RFC, Anfrage nach Kommentaren
  • 21.1 RFCs und ihre Zuständigkeit (veränderte Adressen)
  • 21.2 Kommentare zu Adressen-Munging
  • 21.3 RFC und gültige E-Mail-Adresse-Zeichen
  • 21.4 RFC und login-name@fdqn
  • 21.5 RFCs und Nachrichten-Signatur
  • 21.6 RFC und Verwendung von MIME in Usenet-Newsgroups
  • 21.7 Einige RFC-Punkte 22.0 Einführung in E-Mail-Header
  • 22.1 Um mehr über Mail zu erfahren (Ressourcen)
  • 22.2 Vortrag von Alan Stebbens
  • 22.3 Angewandt auf empfangene Nachrichten
  • 22.4 Nachrichten-Header
  • 22.5 Was ist die korrekte From-Adresse-Syntax
  • 22.6 Was ist dieser X-UIDL-Header?
  • 22.7 Was ist dieser erste From_-Header?
  • 22.8 Message-Id-Header
  • 22.9 Received-Header
  • 22.10 Return-Path
  • 22.11 Errors-To
  • 22.12 X-Subscription-Info
  • 22.13 Reply-To-Header
  • 22.14 Mail-Copies-To-Header
  • 22.15 Mail-Followup-To- und Reply-To-Personal-Header
  • 22.16 Content-Length-Header und From_-Spezifikation
  • 22.17 Moral über CC-Kopien in Usenet
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.